-
Notifications
You must be signed in to change notification settings - Fork 25
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 rainflow counters #38
Comments
As first step, we measure runtime of rainflow, meanstress conversion and damage calculation (as used in ViLoG). The scripts is process_benchmark.py, written by @wos2rng. |
on @maierbn 's laptop |
I have written an implementation of the four point rainflow counter in Cython and in Rust. I tested it for a dataset of 1M datapoints with 100k turning points. Cython doubles the speed, the Rust implementation is 50x faster. By commenting the lines here you can choose between the two for testing purposes. In order to install and build it a simple @maierbn I put a modified benchmark_rainflow.py next to your benchmark file, which also profiles using You need to fiddle around with the commented code to first get the Finally some profiling results: Plain python:
Cython
Rust
|
Closing this as of #99 |
Our current rainflow solutions perform quite poorly as they are written in plain python. In order to meet demand for more performance the sometimes is raised, we should cythonize the modules to see if we can speed them up.
The text was updated successfully, but these errors were encountered: