NVIDIA / NVIDIA/cudf

[FEA] Explore using Cython language features that allow minimizing overhead and simplifying code

Open
#15,137 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.