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

Improve frame_sync_impl::get_symbol_val() performance #93

Merged
merged 3 commits into from
May 17, 2024

Conversation

mskvortsov
Copy link
Contributor

On Apple M3 hyperfine shows 22% of improvement:

Benchmark 1: python3 gr_meshtastic.py
  Time (mean ± σ):     428.8 ms ±   6.7 ms    [User: 420.3 ms, System: 81.5 ms]
  Range (min … max):   420.8 ms … 439.1 ms    10 runs
Benchmark 1: python3 gr_meshtastic.py
  Time (mean ± σ):     335.1 ms ±   1.6 ms    [User: 326.2 ms, System: 79.8 ms]
  Range (min … max):   332.7 ms … 337.0 ms    10 runs

On RPi4 the improvement is about 13% (8.12s to 7.09s). Some details on the benchmarking setup are in #92.

There are other places in the code where a state returned by kiss_fft_alloc() is not reused, but it seems that they are not on the hot path.

@mskvortsov
Copy link
Contributor Author

Also fixed minor imperfections found by valgrind.

@tapparelj
Copy link
Owner

Hello @mskvortsov ,
thanks for the fix, all looks fine to me!
There is an issue with the build of the conda package so I'll fix it and merge it when I'm done.

@tapparelj tapparelj merged commit d9eab58 into tapparelj:master May 17, 2024
12 of 24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants