[FEA] Explore using Cython language features that allow minimizing overhead and simplifying code
Open
feature request
Performance
pylibcudf
Python
- Dominant language
- C++
- Stars
- 9.8k
- Forks
- 1.1k
- Avg merge
- 3d 6m
- Merged PRs (30d)
- 278
Description
**Is your feature request related to a problem? Please describe.**
Cython offers various small bits of functionality that reduce overhead in various scenarios. We should test some of these out.
**Describe the solution you'd like**
Features to test:
- [ ] Apply `cython.final` decorator to classes. This will reduce the overhead of `cpdef` methods by removing the need to look up child classes.
- [ ] Use `cython.freelist` for objects that may be created and freed often. Good examples would be lightweight objects like `pylibcudf.aggregation.Aggregation`s
- [ ] Add `not None` to parameters that must be provided so that they can be checked cheaply at runtime.
Contributor guide
Assessment
This issue has not been assessed yet.