Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cythonize Timestep for greater performance #3709

Closed
hmacdope opened this issue Jun 7, 2022 · 0 comments · Fixed by #3683
Closed

Cythonize Timestep for greater performance #3709

hmacdope opened this issue Jun 7, 2022 · 0 comments · Fixed by #3683
Assignees
Labels
Component-Core CZI-performance performance track of CZIEOSS4 grant performance

Comments

@hmacdope
Copy link
Member

hmacdope commented Jun 7, 2022

Is your feature request related to a problem?

Belatedly realised that I forgot to open an issue.

For greater performance of the core Timestep object and its various roles in holding coordinate, box and reader data, Timestep should be made a Cython Extension type.

Describe the solution you'd like

  • The Timestep object should be made a Cython extension type and all attributes that can be converted to a compiled representation should be.
  • No change to the API behaviour permitted
  • NumPy operations should use the NumPy C API wherever possible
  • Outdated attributes and tests should be removed or changed appropriately
  • Readers that subclass Timestep (INPCRD) should no longer use their own subclass.
  • Readers that use the _frame attribute should now hold it in the ts.data dictionary rather than as an optional attribute
  • All references to the old timestep in the docs should be updated
  • A single surface where you can cimport the cython layer of core should be constructed.

Feedback welcome on PR #3683 !

@hmacdope hmacdope added performance Component-Core CZI-performance performance track of CZIEOSS4 grant labels Jun 7, 2022
@hmacdope hmacdope self-assigned this Jun 7, 2022
@hmacdope hmacdope moved this to In Progress in CZI Performance track Jun 7, 2022
Repository owner moved this from In Progress to Done in CZI Performance track Jun 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component-Core CZI-performance performance track of CZIEOSS4 grant performance
Projects
Development

Successfully merging a pull request may close this issue.

1 participant