Benchmarks¶
Representative single-machine numbers for v0.57.0, committed by hand — not from CI (shared runners aren't hardware-representative).
Two builds are shown so you can see the from-source upside:
- portable —
-O3 -march=x86-64-v2 -ffast-math— the shipped PyPI wheel. - native —
-O3 -march=native -mprefer-vector-width=256 -ffast-math—-DDOPPLER_NATIVE=ON, built from source for this CPU.
Environment — measured 2026-09-25 15:46:11 UTC, doppler 5b444f08f, cc (GCC) 16.2.1 20260810.
- CPU: AMD Ryzen AI 9 465 w/ Radeon 880M — 20 threads, governor
performance, boost on, platform profileperformance, measured on the fastest core class only (cpus 0-3,10-13) - OS: 7.2.5-1-cachyos, glibc 2.44
- Libs: Python 3.13.13, NumPy 2.4.5, CMake 4.4.3
Throughput is MSa/s (higher is better); latency ops are mean time/call (lower is better). from src = native vs portable.
The two builds are measured interleaved (alternating runs, per-benchmark best), so from src reflects the real build difference. Big gains are vectorizable kernels under AVX-512; overhead-bound benches (tiny per-call work) sit near 0% because the build can't help where Python-call overhead dominates.
Python (pytest-benchmark)¶
Throughput¶
| benchmark | portable throughput | native throughput | from src |
|---|---|---|---|
corr::bench_corr::test_bench_execute_64k |
241.45 GSa/s | 255.77 GSa/s | +6% |
i16_buffer::bench_i16_buffer::test_bench_write_some_oversize |
19.57 GSa/s | 19.64 GSa/s | +0% |
i32_to_f32::bench_i32_to_f32::test_bench_steps_64k |
18.92 GSa/s | 34.09 GSa/s | +80% |
i16_to_f32::bench_i16_to_f32::test_bench_steps_64k |
18.01 GSa/s | 33.65 GSa/s | +87% |
wfm_synth::bench_wfm_synth::test_bench_steps_64k |
17.68 GSa/s | 30.76 GSa/s | +74% |
f32_buffer::bench_f32_buffer::test_bench_write_some_oversize |
14.32 GSa/s | 14.89 GSa/s | +4% |
i8_to_f32::bench_i8_to_f32::test_bench_steps_64k |
14.29 GSa/s | 26.99 GSa/s | +89% |
i16u32_to_f32::bench_i16u32_to_f32::test_bench_steps_64k |
13.16 GSa/s | 27.58 GSa/s | +110% |
uq15_to_f32::bench_uq15_to_f32::test_bench_steps_64k |
12.88 GSa/s | 31.57 GSa/s | +145% |
i16u64_to_f32::bench_i16u64_to_f32::test_bench_steps_64k |
9.98 GSa/s | 18.70 GSa/s | +87% |
acc_f32::bench_acc_f32::test_bench_steps[819200] |
6.70 GSa/s | 26.64 GSa/s | +297% |
acc_f32::bench_acc_f32::test_bench_steps[409600] |
6.69 GSa/s | 26.55 GSa/s | +297% |
acc_f32::bench_acc_f32::test_bench_steps[20480] |
6.56 GSa/s | 25.20 GSa/s | +284% |
delay::bench_delay::test_bench_push_ptr_64k |
6.12 GSa/s | 6.10 GSa/s | -0% |
f32_buffer::bench_f32_buffer::test_bench_write_some_peek |
5.63 GSa/s | 5.94 GSa/s | +6% |
i16_buffer::bench_i16_buffer::test_bench_write_some_peek |
5.44 GSa/s | 5.48 GSa/s | +1% |
acc_f32::bench_acc_f32::test_bench_steps[1024] |
5.42 GSa/s | 13.10 GSa/s | +142% |
f64_buffer::bench_f64_buffer::test_bench_write_some_oversize |
5.25 GSa/s | 5.10 GSa/s | -3% |
acc_q15::bench_acc_q15::test_bench_steps_64k |
5.00 GSa/s | 9.62 GSa/s | +93% |
acc_q8::bench_acc_q8::test_bench_steps_64k |
4.26 GSa/s | 4.26 GSa/s | +0% |
nco::bench_nco::test_bench_steps_u32_64k |
4.07 GSa/s | 4.09 GSa/s | +0% |
f32_buffer::bench_f32_buffer::test_bench_write_wait |
3.93 GSa/s | 4.16 GSa/s | +6% |
lo::bench_lo::test_bench_steps_64k |
3.87 GSa/s | 3.87 GSa/s | +0% |
f64_buffer::bench_f64_buffer::test_bench_write_some_peek |
3.85 GSa/s | 4.18 GSa/s | +9% |
i16_buffer::bench_i16_buffer::test_bench_write_wait |
3.79 GSa/s | 3.58 GSa/s | -5% |
nco::bench_nco::test_bench_steps_u32_ovf_64k |
3.18 GSa/s | 3.12 GSa/s | -2% |
f64_buffer::bench_f64_buffer::test_bench_write_wait |
3.07 GSa/s | 3.46 GSa/s | +13% |
acc_cf64::bench_acc_cf64::test_bench_steps[819200] |
1.68 GSa/s | 3.29 GSa/s | +96% |
acc_cf64::bench_acc_cf64::test_bench_steps[409600] |
1.68 GSa/s | 3.33 GSa/s | +98% |
acc_cf64::bench_acc_cf64::test_bench_steps[20480] |
1.67 GSa/s | 3.30 GSa/s | +98% |
acc_cf64::bench_acc_cf64::test_bench_steps[1024] |
1.46 GSa/s | 2.57 GSa/s | +76% |
lo::bench_lo::test_bench_steps_ctrl_64k |
1.25 GSa/s | 1.66 GSa/s | +33% |
adc::bench_adc::test_bench_steps_64k |
1.11 GSa/s | 2.69 GSa/s | +141% |
compose::bench_compose::test_bench_writer[blue-cf32] |
687.0 MSa/s | 714.0 MSa/s | +4% |
compose::bench_compose::test_bench_writer[raw-cf32] |
683.7 MSa/s | 714.8 MSa/s | +5% |
fft::bench_fft::test_bench_execute_cf32_8k |
669.8 MSa/s | 847.9 MSa/s | +27% |
cic::bench_cic::decimate_R256 |
578.0 MSa/s | 530.3 MSa/s | -8% |
compose::bench_compose::test_bench_reader[raw-cf32] |
560.1 MSa/s | 558.7 MSa/s | -0% |
cic::bench_cic::decimate_R64 |
553.3 MSa/s | 514.2 MSa/s | -7% |
compose::bench_compose::test_bench_reader[blue-cf32] |
548.1 MSa/s | 557.0 MSa/s | +2% |
cic::bench_cic::decimate_R8 |
529.5 MSa/s | 498.1 MSa/s | -6% |
RateConverter::bench_RateConverter::test_bench_cic_64k |
529.4 MSa/s | 540.5 MSa/s | +2% |
cic::bench_cic::test_bench_decimate_64k |
525.5 MSa/s | 495.4 MSa/s | -6% |
cic::bench_cic::decimate_R32 |
525.5 MSa/s | 495.4 MSa/s | -6% |
f32_to_i16u32::bench_f32_to_i16u32::test_bench_steps_64k |
503.0 MSa/s | 502.9 MSa/s | -0% |
f32_to_i16::bench_f32_to_i16::test_bench_steps_64k |
503.0 MSa/s | 503.1 MSa/s | +0% |
cic::bench_cic::decimate_R4 |
484.3 MSa/s | 465.6 MSa/s | -4% |
farrow::bench_farrow::test_bench_delay_64k |
473.9 MSa/s | 261.4 MSa/s | -45% |
compose::bench_compose::test_bench_reader[raw-ci16] |
473.4 MSa/s | 585.2 MSa/s | +24% |
f32_to_uq15::bench_f32_to_uq15::test_bench_steps_64k |
457.4 MSa/s | 503.0 MSa/s | +10% |
f32_to_i16u64::bench_f32_to_i16u64::test_bench_steps_64k |
457.3 MSa/s | 502.6 MSa/s | +10% |
fft2d::bench_fft2d::test_bench_execute_cf32 |
447.7 MSa/s | 478.2 MSa/s | +7% |
costas::bench_costas::test_bench_steps_64k |
417.9 MSa/s | 377.5 MSa/s | -10% |
RateConverter::bench_RateConverter::test_bench_hb_64k |
413.5 MSa/s | 366.7 MSa/s | -11% |
HalfbandDecimator::bench_HalfbandDecimator::test_bench_execute_64k |
407.0 MSa/s | 362.7 MSa/s | -11% |
resample::bench_resample::test_bench_hbdecim |
381.0 MSa/s | 342.2 MSa/s | -10% |
hbdecim_q15::bench_hbdecim_q15::test_bench_execute_64k |
342.6 MSa/s | 361.0 MSa/s | +5% |
RateConverter::bench_RateConverter::test_bench_cic_resamp_64k |
327.5 MSa/s | 332.8 MSa/s | +2% |
awgn::bench_awgn::test_bench_generate_64k |
302.1 MSa/s | 302.5 MSa/s | +0% |
corr2d::bench_corr2d::test_bench_corr2d_pffft_dwell8 |
277.1 MSa/s | 330.1 MSa/s | +19% |
RateConverter::bench_RateConverter::test_bench_hb2_64k |
275.8 MSa/s | 245.1 MSa/s | -11% |
ddcr::bench_ddcr::test_bench_execute_64k |
254.4 MSa/s | 247.4 MSa/s | -3% |
ddc::bench_ddc::test_bench_execute_64k |
246.2 MSa/s | 224.6 MSa/s | -9% |
fft2d::bench_fft2d::test_bench_execute_cf64 |
243.7 MSa/s | 311.9 MSa/s | +28% |
fft::bench_fft::test_bench_execute_cf64_8k |
237.2 MSa/s | 462.9 MSa/s | +95% |
compose::bench_compose::test_bench_writer[raw-ci16] |
195.6 MSa/s | 195.4 MSa/s | -0% |
symsync::bench_symsync::test_bench_steps_64k |
175.5 MSa/s | 176.5 MSa/s | +1% |
RateConverter::bench_RateConverter::test_bench_resamp_64k |
167.9 MSa/s | 185.1 MSa/s | +10% |
corr2d::bench_corr2d::test_bench_corr2d_pffft |
158.4 MSa/s | 181.9 MSa/s | +15% |
Resampler::bench_Resampler::test_bench_execute_decim_64k |
140.2 MSa/s | 147.0 MSa/s | +5% |
resample::bench_resample::test_bench_resample_down |
137.4 MSa/s | 143.1 MSa/s | +4% |
agc::bench_agc::test_bench_steps_64k |
135.4 MSa/s | 142.2 MSa/s | +5% |
burst_despreader::bench_burst_despreader::test_bench_steps_bursts |
134.3 MSa/s | 154.6 MSa/s | +15% |
burst_despreader::bench_burst_despreader::test_bench_steps_idle |
131.5 MSa/s | 151.7 MSa/s | +15% |
carrier_nda::bench_carrier_nda::test_bench_steps_64k |
118.3 MSa/s | 122.6 MSa/s | +4% |
fir::bench_fir::test_bench_execute[20480] |
88.6 MSa/s | 296.9 MSa/s | +235% |
fir::bench_fir::test_bench_execute[409600] |
88.2 MSa/s | 294.1 MSa/s | +234% |
fir::bench_fir::test_bench_execute[1024] |
87.6 MSa/s | 280.1 MSa/s | +220% |
fir::bench_fir::test_bench_execute[819200] |
87.5 MSa/s | 283.0 MSa/s | +224% |
resample::bench_resample::test_bench_resample_up |
80.3 MSa/s | 86.6 MSa/s | +8% |
burst_demod::bench_burst_demod::test_bench_demod_burst |
72.4 MSa/s | 84.0 MSa/s | +16% |
ratesync::bench_ratesync::test_bench_steps_gardner |
68.9 MSa/s | 73.1 MSa/s | +6% |
burst_demod::bench_burst_demod::test_bench_demod_idle |
65.1 MSa/s | 73.0 MSa/s | +12% |
ratesync::bench_ratesync::test_bench_steps_dttl |
64.0 MSa/s | 68.5 MSa/s | +7% |
widedoppler::bench_widedoppler::test_bench_column_tile[gps_16x2046-16-2046-79] |
60.7 MSa/s | 78.8 MSa/s | +30% |
corr2d::bench_corr2d::test_bench_corr2d_fallback |
59.8 MSa/s | 78.4 MSa/s | +31% |
burst_acq::bench_burst_acq::test_bench_push_idle |
57.2 MSa/s | 46.5 MSa/s | -19% |
burst_acq::bench_burst_acq::test_bench_push_bursts |
57.2 MSa/s | 46.4 MSa/s | -19% |
burst_capture::bench_burst_capture::test_bench_push_idle |
54.8 MSa/s | 45.3 MSa/s | -17% |
dsss_burst_receiver::bench_dsss_burst_receiver::test_bench_push_idle |
54.7 MSa/s | 44.8 MSa/s | -18% |
burst_capture::bench_burst_capture::test_bench_push_bursts_backed |
47.0 MSa/s | 41.4 MSa/s | -12% |
burst_capture::bench_burst_capture::test_bench_push_bursts |
46.4 MSa/s | 41.2 MSa/s | -11% |
dll::bench_dll::test_bench_steps_64k |
45.4 MSa/s | 51.4 MSa/s | +13% |
despreader::bench_despreader::test_bench_steps_64k |
41.0 MSa/s | 47.1 MSa/s | +15% |
delay::bench_delay::test_bench_push |
40.3 MSa/s | 39.9 MSa/s | -1% |
widedoppler::bench_widedoppler::test_bench_column_tile[burst_5x4094-5-4094-49] |
35.4 MSa/s | 43.2 MSa/s | +22% |
acq::bench_acq::test_bench_tile_test_grid |
32.3 MSa/s | 40.1 MSa/s | +24% |
dsss_burst_receiver::bench_dsss_burst_receiver::test_bench_push_bursts |
31.5 MSa/s | 31.3 MSa/s | -1% |
acq::bench_acq::test_bench_tile_worked |
27.1 MSa/s | 34.9 MSa/s | +29% |
ppe::bench_ppe::test_bench_estimate_idle |
14.4 MSa/s | 15.2 MSa/s | +5% |
ppe::bench_ppe::test_bench_estimate_bursts |
14.2 MSa/s | 15.2 MSa/s | +7% |
compose::bench_compose::test_bench_writer[csv-cf32] |
6.2 MSa/s | 6.2 MSa/s | -1% |
widedoppler::bench_widedoppler::test_bench_2d_roll[gps_16x2046-16-2046-79] |
1.8 MSa/s | 2.4 MSa/s | +32% |
widedoppler::bench_widedoppler::test_bench_2d_roll[burst_5x4094-5-4094-49] |
1.8 MSa/s | 2.5 MSa/s | +42% |
Latency¶
| benchmark | portable time/call | native time/call | from src |
|---|---|---|---|
dp_interrupt_guard::bench_dp_interrupt_guard::test_interrupted |
19.31 ns | 19.30 ns | +0% |
wfm_synth::bench_wfm_synth::test_bench_step |
22.07 ns | 22.07 ns | -0% |
lockdet::bench_lockdet::test_bench_step |
23.75 ns | 26.44 ns | -10% |
loop_filter::bench_loop_filter::test_bench_step |
24.17 ns | 24.20 ns | -0% |
i16u64_to_f32::bench_i16u64_to_f32::test_bench_step |
24.36 ns | 24.72 ns | -1% |
uq15_to_f32::bench_uq15_to_f32::test_bench_step |
24.46 ns | 24.34 ns | +1% |
i16u32_to_f32::bench_i16u32_to_f32::test_bench_step |
24.53 ns | 24.53 ns | -0% |
f32_to_i8::bench_f32_to_i8::test_bench_step |
24.62 ns | 24.64 ns | -0% |
i32_to_f32::bench_i32_to_f32::test_bench_step |
24.72 ns | 24.68 ns | +0% |
i8_to_f32::bench_i8_to_f32::test_bench_step |
24.74 ns | 24.77 ns | -0% |
i16_to_f32::bench_i16_to_f32::test_bench_step |
24.86 ns | 24.70 ns | +1% |
acc_q8::bench_acc_q8::test_bench_step |
25.58 ns | 23.25 ns | +10% |
acc_q15::bench_acc_q15::test_bench_step |
25.60 ns | 25.62 ns | -0% |
adc::bench_adc::test_bench_step |
27.81 ns | 27.85 ns | -0% |
boxcar::bench_boxcar::test_bench_step |
28.64 ns | 28.65 ns | -0% |
f32_to_i32::bench_f32_to_i32::test_bench_step |
28.72 ns | 28.59 ns | +0% |
f32_to_i16::bench_f32_to_i16::test_bench_step |
29.49 ns | 29.31 ns | +1% |
timing::bench_timing::test_bench_stamp |
29.54 ns | 29.70 ns | -1% |
detection::bench_detection::test_bench_det_threshold_power |
29.82 ns | 29.65 ns | +1% |
f32_to_i16u32::bench_f32_to_i16u32::test_bench_step |
30.33 ns | 30.19 ns | +0% |
f32_to_i16u64::bench_f32_to_i16u64::test_bench_step |
30.37 ns | 30.19 ns | +1% |
f32_to_uq15::bench_f32_to_uq15::test_bench_step |
30.49 ns | 30.43 ns | +0% |
util::bench_util::test_ema_step_pure_python |
31.55 ns | 31.60 ns | -0% |
dp_interrupt_guard::bench_dp_interrupt_guard::test_interrupt_and_resume |
31.74 ns | 31.43 ns | +1% |
detection::bench_detection::test_bench_det_threshold |
33.34 ns | 33.57 ns | -1% |
util::bench_util::test_ema_step_binding |
33.75 ns | 33.57 ns | +1% |
detection::bench_detection::test_bench_marcum_q_large_a |
35.87 ns | 35.92 ns | -0% |
util::bench_util::test_ema_alpha_decim_binding |
47.71 ns | 47.15 ns | +1% |
agc::bench_agc::test_bench_step |
49.04 ns | 45.13 ns | +9% |
timing::bench_timing::test_bench_pace_nowait |
81.17 ns | 82.04 ns | -1% |
syncword::bench_syncword::test_bench_find_call_overhead |
110.37 ns | 108.34 ns | +2% |
detection::bench_detection::test_bench_det_pd_m1 |
111.17 ns | 107.59 ns | +3% |
wfm_reader::bench_wfm_reader::test_seek_midpoint |
148.84 ns | 137.61 ns | +8% |
detection::bench_detection::test_bench_marcum_q_m4 |
183.58 ns | 181.19 ns | +1% |
detection::bench_detection::test_bench_det_pd_power_m4 |
207.95 ns | 207.97 ns | -0% |
detection::bench_detection::test_bench_det_pd_m4 |
207.98 ns | 206.50 ns | +1% |
detection::bench_detection::test_bench_marcum_q_m1 |
209.95 ns | 208.34 ns | +1% |
syncword::bench_syncword::test_bench_max_errors_for |
261.74 ns | 258.87 ns | +1% |
dp_interrupt_guard::bench_dp_interrupt_guard::test_arm_disarm |
339.51 ns | 340.29 ns | -0% |
burst_despreader::bench_burst_despreader::test_bench_construct |
381.11 ns | 396.92 ns | -4% |
detection::bench_detection::test_bench_det_pd_m16 |
437.36 ns | 435.57 ns | +0% |
rs_codec::bench_rs_codec::test_bench_create |
586.18 ns | 771.24 ns | -24% |
interleaver::bench_interleaver::test_bench_interleave[8-8192] |
1.43 µs | 1.65 µs | -14% |
rs_codec::bench_rs_codec::test_bench_encode |
4.02 µs | 2.97 µs | +35% |
interleaver::bench_interleaver::test_bench_interleave[1-8192] |
10.02 µs | 11.65 µs | -14% |
interleaver::bench_interleaver::test_bench_interleave[8-65536] |
10.05 µs | 11.68 µs | -14% |
interleaver::bench_interleaver::test_bench_deinterleave_soft[8192] |
11.63 µs | 10.42 µs | +12% |
rs_codec::bench_rs_codec::test_bench_decode_clean |
19.02 µs | 19.00 µs | +0% |
rs_codec::bench_rs_codec::test_bench_codeword_ok |
19.07 µs | 18.98 µs | +0% |
conv_enc::bench_conv_enc::test_bench_constraint_length[5] |
24.57 µs | 22.47 µs | +9% |
conv_enc::bench_conv_enc::test_bench_encode[8192] |
24.58 µs | 22.39 µs | +10% |
conv_enc::bench_conv_enc::test_bench_constraint_length[7] |
24.59 µs | 22.41 µs | +10% |
conv_enc::bench_conv_enc::test_bench_constraint_length[9] |
24.59 µs | 22.43 µs | +10% |
conv_enc::bench_conv_enc::test_bench_constraint_length[3] |
24.60 µs | 22.41 µs | +10% |
lockdet::bench_lockdet::test_bench_steps_64k |
26.55 µs | 26.32 µs | +1% |
detection::bench_detection::test_bench_det_dwell |
26.63 µs | 26.49 µs | +1% |
detection::bench_detection::test_bench_det_dwell_power |
26.66 µs | 26.44 µs | +1% |
rs_codec::bench_rs_codec::test_bench_decode_full |
26.68 µs | 26.59 µs | +0% |
detector::bench_detector::test_bench_push_64k |
28.67 µs | 25.31 µs | +13% |
detection::bench_detection::test_bench_det_snr_m16 |
32.60 µs | 32.42 µs | +1% |
detection::bench_detection::test_bench_det_snr_power_m4 |
32.70 µs | 32.62 µs | +0% |
detection::bench_detection::test_bench_det_snr_m4 |
32.74 µs | 32.62 µs | +0% |
util::bench_util::test_ema_block_python_loop[1000] |
34.33 µs | 34.81 µs | -1% |
f32_to_i32::bench_f32_to_i32::test_bench_steps_64k |
36.36 µs | 21.04 µs | +73% |
detector2d::bench_detector2d::test_bench_push_64k |
52.20 µs | 60.81 µs | -14% |
interleaver::bench_interleaver::test_bench_interleave[1-65536] |
78.35 µs | 91.32 µs | -14% |
syncword::bench_syncword::test_bench_find_64k |
87.21 µs | 58.62 µs | +49% |
interleaver::bench_interleaver::test_bench_deinterleave_soft[65536] |
91.31 µs | 81.77 µs | +12% |
wfm_writer::bench_wfm_writer::test_write_64k[cf32] |
100.93 µs | 95.96 µs | +5% |
wfm_reader::bench_wfm_reader::test_read_64k |
113.90 µs | 114.07 µs | -0% |
f32_to_i8::bench_f32_to_i8::test_bench_steps_64k |
143.30 µs | 143.30 µs | +0% |
loop_filter::bench_loop_filter::test_bench_steps_64k |
156.46 µs | 169.52 µs | -8% |
conv_enc::bench_conv_enc::test_bench_encode[65536] |
195.14 µs | 177.69 µs | +10% |
boxcar::bench_boxcar::test_bench_steps_64k |
195.60 µs | 195.55 µs | +0% |
wfm_writer::bench_wfm_writer::test_write_64k[ci16] |
338.46 µs | 338.70 µs | -0% |
viterbi::bench_viterbi::test_bench_constraint_length[3] |
340.45 µs | 386.56 µs | -12% |
dp_event_log::bench_dp_event_log::test_bench_append |
359.63 µs | 351.66 µs | +2% |
viterbi::bench_viterbi::test_bench_constraint_length[5] |
461.15 µs | 505.77 µs | -9% |
dp_tlm_capture::bench_dp_tlm_capture::test_bench_attached_no_capture |
486.70 µs | 466.35 µs | +4% |
dp_tlm_capture::bench_dp_tlm_capture::test_bench_uninstrumented |
489.59 µs | 464.86 µs | +5% |
dp_tlm_capture::bench_dp_tlm_capture::test_bench_captured |
540.16 µs | 518.00 µs | +4% |
viterbi::bench_viterbi::test_bench_decode[8192] |
641.77 µs | 664.67 µs | -3% |
dp_event_log::bench_dp_event_log::test_bench_append_with_fields |
686.42 µs | 662.94 µs | +4% |
dp_event_log::bench_dp_event_log::test_bench_finalize |
729.49 µs | 721.89 µs | +1% |
viterbi::bench_viterbi::test_bench_constraint_length[7] |
760.84 µs | 800.80 µs | -5% |
mpsk_receiver_r::bench_mpsk_receiver_r::test_bench_steps_64k_telemetry_detached |
835.64 µs | 878.30 µs | -5% |
mpsk_receiver_r::bench_mpsk_receiver_r::test_bench_steps_64k |
836.51 µs | 876.94 µs | -5% |
mpsk_receiver_r::bench_mpsk_receiver_r::test_bench_steps_64k_telemetry_attached |
969.61 µs | 1.00 ms | -3% |
mpsk_receiver::bench_mpsk_receiver::test_bench_steps_64k_telemetry_detached |
1.13 ms | 1.13 ms | -0% |
mpsk_receiver::bench_mpsk_receiver::test_bench_steps_64k |
1.13 ms | 1.12 ms | +1% |
mpsk_receiver::bench_mpsk_receiver::test_bench_steps_64k_telemetry_attached |
1.37 ms | 1.37 ms | +0% |
async_dsss_pool::bench_async_dsss_pool::test_push_epoch |
1.41 ms | 1.25 ms | +12% |
viterbi::bench_viterbi::test_bench_constraint_length[9] |
1.72 ms | 1.73 ms | -0% |
util::bench_util::test_ema_block_python_loop[100000] |
3.42 ms | 3.49 ms | -2% |
viterbi::bench_viterbi::test_bench_decode[65536] |
5.41 ms | 5.58 ms | -3% |
burst_acq::bench_burst_acq::test_bench_construct |
6.61 ms | 6.54 ms | +1% |
burst_capture::bench_burst_capture::test_bench_construct |
6.62 ms | 6.55 ms | +1% |
dsss_burst_receiver::bench_dsss_burst_receiver::test_bench_construct |
6.62 ms | 6.56 ms | +1% |
C (jm_bench)¶
Latency¶
| benchmark | portable time/call | native time/call | from src |
|---|---|---|---|
frame::bits[1] |
21.19 ns | 21.30 ns | -1% |
specan::retune |
21.42 ns | 19.62 ns | +9% |
frame::bits[16] |
137.04 ns | 137.23 ns | -0% |
psd::power_onesided[nfft=1024] |
179.92 ns | 155.72 ns | +16% |
acc_trace::value |
253.27 ns | 222.05 ns | +14% |
fft::execute_inplace_cf32[n=256] |
277.57 ns | 226.03 ns | +23% |
fft::execute_ci8[n=256] |
308.85 ns | 243.78 ns | +27% |
fft::execute_ci16[n=256] |
324.22 ns | 242.68 ns | +34% |
fft::execute_cf32[n=256] |
373.03 ns | 296.47 ns | +26% |
dp_tlm_capture::uncaptured |
439.40 ns | 438.92 ns | +0% |
psd::power_onesided[nfft=4096] |
656.42 ns | 567.84 ns | +16% |
fft::execute_cf64[n=256] |
795.73 ns | 559.90 ns | +42% |
frame::crc_ok |
837.22 ns | 847.74 ns | -1% |
filter::design_lowpass[fstop=0.400,taps=39] |
1.07 µs | 1.06 µs | +1% |
corr::execute[accumulate][n=1024] |
1.50 µs | 1.07 µs | +41% |
interleaver::octet-1x8k |
1.88 µs | 1.69 µs | +11% |
i16_buffer::write_some_view+peek_view |
2.07 µs | 2.03 µs | +2% |
psd::power_onesided[nfft=16384] |
2.59 µs | 2.26 µs | +14% |
corr::execute[dump][n=1024] |
2.87 µs | 2.11 µs | +36% |
filter::design_lowpass[fstop=0.260,taps=123] |
3.30 µs | 3.27 µs | +1% |
awgn::generate(n=1024) |
3.33 µs | 3.40 µs | -2% |
i32_to_f32::steps |
3.44 µs | 2.14 µs | +61% |
i16_to_f32::steps |
3.62 µs | 1.88 µs | +93% |
pn::store_floor |
3.65 µs | 1.32 µs | +176% |
carrier_acq::steps[pad=4] |
3.99 µs | 3.63 µs | +10% |
cvt::bin_to_nrz |
4.33 µs | 1.49 µs | +191% |
i8_to_f32::steps |
4.56 µs | 2.34 µs | +95% |
f32_buffer::write_some_view+peek_view |
4.80 µs | 4.91 µs | -2% |
i16u32_to_f32::steps |
4.92 µs | 2.42 µs | +103% |
uq15_to_f32::steps |
5.07 µs | 2.03 µs | +150% |
arith::dot_q8 |
5.32 µs | 2.54 µs | +109% |
fft::execute_inplace_cf32[n=4096] |
5.86 µs | 4.57 µs | +28% |
fft::execute_ci8[n=4096] |
6.14 µs | 4.54 µs | +35% |
fft::execute_ci16[n=4096] |
6.18 µs | 4.70 µs | +31% |
rs_codec::create[J=4] |
6.19 µs | 6.08 µs | +2% |
fft::execute_cf32[n=4096] |
6.25 µs | 4.69 µs | +33% |
i16u64_to_f32::steps |
6.72 µs | 3.53 µs | +90% |
wfm::bpsk_map[8192] |
6.99 µs | 3.38 µs | +107% |
arith::mul_q8 |
8.40 µs | 3.81 µs | +120% |
arith::shl_q8 |
9.66 µs | 4.10 µs | +136% |
acc_trace::accumulate[exp] |
9.70 µs | 5.04 µs | +93% |
acc_f32::steps |
9.78 µs | 2.46 µs | +298% |
spectral::kaiser_enbw[4096] |
9.87 µs | 4.42 µs | +124% |
interleaver::soft |
9.99 µs | 10.01 µs | -0% |
wfm::dsss_spread[sf=31,512sym] |
10.38 µs | 5.74 µs | +81% |
arith::sub_q8 |
10.73 µs | 4.61 µs | +133% |
arith::add_q8 |
10.75 µs | 4.62 µs | +133% |
f64_buffer::write_some_view+peek_view |
11.20 µs | 10.91 µs | +3% |
dp_tlm_capture::boundary |
11.37 µs | 11.39 µs | -0% |
acc_trace::accumulate[mean] |
12.59 µs | 5.34 µs | +136% |
filter::design_lowpass[fstop=0.215,taps=485] |
12.59 µs | 12.54 µs | +0% |
acquire::dp_fftfreq_index (inlined) |
13.02 µs | 6.94 µs | +88% |
acc_q15::step |
13.03 µs | 6.77 µs | +92% |
acc_q15::steps |
13.03 µs | 6.73 µs | +94% |
dp_interrupt_guard::raw_load |
13.05 µs | 13.05 µs | +0% |
i32_to_f32::step |
13.06 µs | 13.08 µs | -0% |
dp_tlm::detached |
13.06 µs | 13.05 µs | +0% |
i16u64_to_f32::step |
13.09 µs | 13.11 µs | -0% |
i8_to_f32::step |
13.11 µs | 13.13 µs | -0% |
i16_to_f32::step |
13.14 µs | 13.14 µs | +0% |
arith::mul_q15 |
13.14 µs | 5.38 µs | +144% |
awgn::generate(n=4096) |
13.28 µs | 13.38 µs | -1% |
arith::shl_i64 |
13.38 µs | 8.62 µs | +55% |
i16u32_to_f32::step |
13.50 µs | 13.43 µs | +1% |
interleaver::bit-1x8k |
14.72 µs | 13.08 µs | +13% |
acc_q8::steps |
15.31 µs | 15.31 µs | +0% |
acc_q8::step |
15.34 µs | 15.30 µs | +0% |
uq15_to_f32::step |
15.66 µs | 13.17 µs | +19% |
nco::steps_u32 |
15.81 µs | 15.81 µs | -0% |
fft::execute_cf64[n=4096] |
15.92 µs | 8.34 µs | +91% |
interleaver::deep |
16.10 µs | 13.71 µs | +17% |
wfm::qpsk_map[8192] |
18.23 µs | 7.98 µs | +128% |
carrier_acq::steps[pad=16] |
18.44 µs | 16.47 µs | +12% |
dp_tlm::decimated |
18.46 µs | 18.41 µs | +0% |
arith::shl_q15 |
18.65 µs | 8.19 µs | +128% |
wfm::mls_poly |
19.52 µs | 19.51 µs | +0% |
resample::kaiser_num_taps |
19.73 µs | 19.56 µs | +1% |
util::repeated_multiply |
20.14 µs | 8.52 µs | +136% |
nprmeas::analyze[n=4096] |
20.56 µs | 17.28 µs | +19% |
nco::steps_u32_ovf |
21.09 µs | 21.04 µs | +0% |
arith::sub_q15 |
21.39 µs | 9.19 µs | +133% |
arith::add_q15 |
21.41 µs | 9.18 µs | +133% |
imdmeas::analyze[n=4096] |
21.84 µs | 18.53 µs | +18% |
nco::steps_u32_scaled |
23.66 µs | 23.58 µs | +0% |
frame_meter::get_frames |
23.83 µs | 24.08 µs | -1% |
measure::measure_rec_nfft |
24.55 µs | 23.02 µs | +7% |
measure::measure_dr_from_bits[inline] |
24.59 µs | 26.05 µs | -6% |
lo::steps |
24.69 µs | 25.00 µs | -1% |
resample::kaiser_beta |
25.21 µs | 24.94 µs | +1% |
lo::step |
25.40 µs | 25.38 µs | +0% |
tonemeas::analyze[n=4096] |
25.64 µs | 22.07 µs | +16% |
detection::det_threshold |
25.65 µs | 25.75 µs | -0% |
arith::dot_q15 |
26.03 µs | 5.32 µs | +389% |
measure::measure_proc_gain |
26.29 µs | 26.15 µs | +1% |
fft::execute_cf32[n=16384] |
26.45 µs | 20.25 µs | +31% |
fft::execute_inplace_cf32[n=16384] |
27.05 µs | 20.84 µs | +30% |
fft::execute_ci8[n=16384] |
27.35 µs | 20.16 µs | +36% |
fft::execute_ci16[n=16384] |
27.64 µs | 20.81 µs | +33% |
detection::det_ema_alpha |
28.23 µs | 29.74 µs | -5% |
spectral::find_peaks_f32[4096,n=8] |
28.52 µs | 28.85 µs | -1% |
arith::shr_i64 |
29.67 µs | 8.73 µs | +240% |
corr::execute[accumulate][n=16384] |
30.01 µs | 21.25 µs | +41% |
wfm_synth::tone clean |
30.35 µs | 20.80 µs | +46% |
acc_trace::accumulate[minhold] |
31.13 µs | 6.42 µs | +385% |
acc_trace::accumulate[maxhold] |
32.66 µs | 6.75 µs | +384% |
carrier_acq::steps[pad=4,seq] |
32.96 µs | 29.46 µs | +12% |
tonemeas::analyze_complex[n=4096] |
34.18 µs | 30.46 µs | +12% |
arith::shr_q15 |
34.58 µs | 3.91 µs | +785% |
f32_to_i32::step |
35.51 µs | 34.94 µs | +2% |
f32_to_i32::steps |
36.37 µs | 21.18 µs | +72% |
snr::data_aided_db |
38.52 µs | 18.62 µs | +107% |
acc_f32::step |
39.08 µs | 39.14 µs | -0% |
acc_cf64::steps |
39.13 µs | 19.56 µs | +100% |
acc_cf64::step |
39.16 µs | 39.16 µs | -0% |
lockdet::step |
39.49 µs | 46.22 µs | -15% |
loop_filter::step |
45.12 µs | 60.11 µs | -25% |
nco::steps_u32_ctrl |
45.64 µs | 41.49 µs | +10% |
lockdet::steps |
46.98 µs | 35.14 µs | +34% |
conv_enc::encode[k=5] |
47.91 µs | 42.66 µs | +12% |
conv_enc::encode[raw kernel] |
47.93 µs | 42.69 µs | +12% |
conv_enc::encode[k=7] |
47.95 µs | 42.45 µs | +13% |
conv::encode |
47.95 µs | 42.43 µs | +13% |
conv_enc::encode[k=9] |
47.96 µs | 42.50 µs | +13% |
conv_enc::encode[k=3] |
47.97 µs | 42.50 µs | +13% |
conv_enc::encode[through the object] |
47.97 µs | 42.55 µs | +13% |
dp_interrupt_guard::arm_disarm |
50.56 µs | 50.57 µs | -0% |
acc_cf64::madd2d |
52.03 µs | 52.03 µs | -0% |
acc_cf64::add2d |
52.03 µs | 52.02 µs | +0% |
acc_cf64::madd |
52.03 µs | 52.05 µs | -0% |
wfm::crc16[8192] |
52.04 µs | 52.02 µs | +0% |
acc_f32::dump |
52.05 µs | 52.04 µs | +0% |
acc_cf64::dump |
52.05 µs | 52.04 µs | +0% |
acc_cf64::get |
52.07 µs | 52.06 µs | +0% |
adc::step |
52.08 µs | 40.67 µs | +28% |
acc_f32::get |
52.08 µs | 52.14 µs | -0% |
acquire::bin_to_signed (wrapper, not inlinable) |
52.19 µs | 52.29 µs | -0% |
boxcar::step |
52.32 µs | 52.08 µs | +0% |
acc_f32::add2d |
52.46 µs | 52.27 µs | +0% |
dp_interrupt_guard::interrupted |
52.56 µs | 52.14 µs | +1% |
spectral::obw_from_power[4096] |
53.77 µs | 43.22 µs | +24% |
nco::steps_u32_scaled_ctrl |
55.46 µs | 51.21 µs | +8% |
frame_meter::add |
56.52 µs | 84.29 µs | -33% |
frame_meter::sync_miss |
56.71 µs | 65.76 µs | -14% |
corr::execute[dump][n=16384] |
57.79 µs | 42.82 µs | +35% |
buffer::write_wait_consume[i16,chunk=1024] |
58.18 µs | 55.00 µs | +6% |
buffer::write_wait_consume[i16,chunk=1000] |
58.39 µs | 55.28 µs | +6% |
adc::steps |
58.90 µs | 24.94 µs | +136% |
acc_f32::madd2d |
65.03 µs | 52.03 µs | +25% |
pn::generate[fibonacci,len=15] |
65.04 µs | 65.18 µs | -0% |
acc_f32::madd |
65.06 µs | 52.03 µs | +25% |
pn::generate[fibonacci,len=23] |
65.06 µs | 65.16 µs | -0% |
pn::generate[galois,len=23] |
65.07 µs | 65.10 µs | -0% |
pn::generate[fibonacci,len=11] |
65.07 µs | 65.14 µs | -0% |
pn::generate[galois,len=15] |
65.09 µs | 65.05 µs | +0% |
pn::generate[galois,len=11] |
65.24 µs | 65.19 µs | +0% |
gold::generate |
65.55 µs | 65.96 µs | -1% |
dp_tlm::emit |
67.81 µs | 69.78 µs | -3% |
wfm_synth::pn n=40 baseband(64b) |
71.23 µs | 68.17 µs | +4% |
wfm_synth::pn fibonacci baseband |
71.23 µs | 68.17 µs | +4% |
wfm_synth::pn baseband clean |
71.23 µs | 68.11 µs | +5% |
nco::steps_u32_ovf_ctrl |
74.86 µs | 77.07 µs | -3% |
rs_codec::create[J=8] |
76.19 µs | 74.62 µs | +2% |
fft::execute_cf64[n=16384] |
76.68 µs | 39.67 µs | +93% |
wfm_synth::bpsk clean |
77.74 µs | 77.43 µs | +0% |
util::two_product |
78.84 µs | 91.05 µs | -13% |
timing::stamp |
82.01 µs | 80.64 µs | +2% |
buffer::write_wait_consume[f32,chunk=1024] |
86.15 µs | 47.77 µs | +80% |
wfm_synth::qpsk clean |
86.23 µs | 85.84 µs | +0% |
buffer::write_wait_consume[f32,chunk=1000] |
86.36 µs | 47.83 µs | +81% |
cic::decimate |
86.93 µs | 85.13 µs | +2% |
measure::dp_coherent_freq[N=4096] |
88.25 µs | 88.28 µs | -0% |
nprmeas::analyze[n=16384] |
89.88 µs | 75.60 µs | +19% |
ddc::execute[rate=0.05] |
92.20 µs | 91.38 µs | +1% |
ddc::execute[rate=0.50] |
93.33 µs | 100.77 µs | -7% |
imdmeas::analyze[n=16384] |
94.53 µs | 80.36 µs | +18% |
buffer::write_some_peek_consume[f32,in=3000,frame=1024] |
95.12 µs | 58.68 µs | +62% |
mpsk::soft_demap[m=2] |
97.62 µs | 104.49 µs | -7% |
arith::shr_q8 |
104.03 µs | 1.98 µs | +5152% |
tonemeas::analyze[n=16384] |
109.76 µs | 95.11 µs | +15% |
ddc::execute[rate=0.10] |
114.20 µs | 117.41 µs | -3% |
psd::accumulate_real[nfft=1024] |
114.88 µs | 85.85 µs | +34% |
delay::write |
117.08 µs | 65.08 µs | +80% |
delay::push |
117.22 µs | 52.28 µs | +124% |
psd::accumulate[nfft=1024] |
117.30 µs | 88.99 µs | +32% |
util::ema_step |
117.56 µs | 117.62 µs | -0% |
util::raw_incremental |
117.72 µs | 118.03 µs | -0% |
wfm_reader::raw cf32 (reinterpret) |
119.03 µs | 119.81 µs | -1% |
fft::execute_cf32[n=65536] |
119.50 µs | 91.74 µs | +30% |
wfm_compose::execute[seg=262144,boundaries=1] |
121.21 µs | 84.16 µs | +44% |
wfm_compose::execute[seg=16384,boundaries=16] |
121.65 µs | 85.03 µs | +43% |
fft::execute_inplace_cf32[n=65536] |
122.86 µs | 95.15 µs | +29% |
RateConverter::CIC(0.125) |
123.37 µs | 120.96 µs | +2% |
wfm_compose::execute[seg=4096,boundaries=64] |
123.63 µs | 86.81 µs | +42% |
fft::execute_ci8[n=65536] |
124.30 µs | 92.89 µs | +34% |
fft::execute_ci16[n=65536] |
124.87 µs | 94.89 µs | +32% |
psd::accumulate_real[nfft=4096] |
126.11 µs | 96.11 µs | +31% |
ddcr::execute[rate=0.25] |
129.26 µs | 133.66 µs | -3% |
psd::accumulate[nfft=4096] |
129.70 µs | 97.86 µs | +33% |
ddcr::execute_ctrl[rate=0.25] |
130.01 µs | 134.17 µs | -3% |
f32_to_i16u32::steps |
130.25 µs | 143.30 µs | -9% |
ddc::execute[rate=0.25] |
132.73 µs | 145.34 µs | -9% |
wfm_compose::execute[seg=1024,boundaries=256] |
133.85 µs | 96.40 µs | +39% |
ddc::execute_ctrl[rate=0.25] |
135.53 µs | 148.23 µs | -9% |
wfm_reader::raw ci16 (rescale) |
136.89 µs | 136.83 µs | +0% |
syncword::find[n=32] |
137.34 µs | 92.52 µs | +48% |
farrow::delay_cubic |
138.05 µs | 249.66 µs | -45% |
psd::accumulate_real[nfft=16384] |
138.67 µs | 105.36 µs | +32% |
f32_to_i8::steps |
143.08 µs | 143.13 µs | -0% |
f32_to_uq15::steps |
143.15 µs | 143.18 µs | -0% |
f32_to_i16u32::step |
143.18 µs | 130.28 µs | +10% |
f32_to_i16u64::step |
143.19 µs | 130.31 µs | +10% |
f32_to_i16::steps |
143.19 µs | 143.19 µs | +0% |
f32_to_i8::step |
143.29 µs | 143.21 µs | +0% |
f32_to_i16::step |
143.33 µs | 130.25 µs | +10% |
f32_to_uq15::step |
143.33 µs | 130.22 µs | +10% |
farrow::delay_parabolic |
143.43 µs | 246.30 µs | -42% |
f32_to_i16u64::steps |
143.47 µs | 143.48 µs | -0% |
psd::accumulate[nfft=16384] |
143.52 µs | 109.86 µs | +31% |
wfm_reader::blue cf32 (parse+raw) |
143.74 µs | 143.65 µs | +0% |
carrier_acq::steps[pad=16,seq] |
144.39 µs | 139.12 µs | +4% |
tonemeas::analyze_complex[n=16384] |
145.23 µs | 128.57 µs | +13% |
costas::steps |
156.21 µs | 173.23 µs | -10% |
loop_filter::steps |
156.59 µs | 169.44 µs | -8% |
RateConverter::HB(0.5) |
158.91 µs | 178.84 µs | -11% |
fir::execute[taps=15,real] |
165.61 µs | 57.27 µs | +189% |
fft2d::execute_cf32[256x256] |
167.64 µs | 147.97 µs | +13% |
farrow::delay_linear |
169.73 µs | 246.37 µs | -31% |
spectral::magnitude_db_cf32[4096] |
171.43 µs | 144.89 µs | +18% |
fft2d::execute_inplace_cf32[256x256] |
172.25 µs | 150.82 µs | +14% |
buffer::write_wait_consume[f64,chunk=1024] |
185.49 µs | 107.93 µs | +72% |
buffer::write_wait_consume[f64,chunk=1000] |
186.85 µs | 108.82 µs | +72% |
hbdecim_q15::execute[taps=32,K_pad=16] |
194.65 µs | 169.05 µs | +15% |
boxcar::steps |
195.58 µs | 195.79 µs | -0% |
RateConverter::CIC+Rs(0.1) |
199.32 µs | 215.81 µs | -8% |
wfm_writer::blue cf32 |
208.93 µs | 187.87 µs | +11% |
wfm_writer::raw cf32 (memcpy) |
212.36 µs | 190.78 µs | +11% |
awgn::generate(n=65536) |
212.99 µs | 213.78 µs | -0% |
hbdecim_q15::execute[taps=34,K_pad=32] |
213.45 µs | 178.82 µs | +19% |
wfm_synth::noise (AWGN) |
219.66 µs | 219.62 µs | +0% |
ppe::doppler |
222.01 µs | 207.98 µs | +7% |
wfm_synth::bpsk rrc sps=16 |
224.11 µs | 172.69 µs | +30% |
async_dsss_pool::push[12 slots, all cores] |
231.59 µs | 209.36 µs | +11% |
measure::dp_coherent_freq[N=30030] |
233.08 µs | 233.06 µs | +0% |
RateConverter::HB2(0.25) |
237.48 µs | 267.71 µs | -11% |
detector::push[chunk=1024,no-detections] |
240.80 µs | 179.12 µs | +34% |
detector::push[chunk=16384] |
240.84 µs | 178.70 µs | +35% |
detector::push[chunk=1024] |
240.88 µs | 179.08 µs | +35% |
wfm_synth::tone +noise |
243.16 µs | 238.34 µs | +2% |
detector::push[chunk=64] |
243.65 µs | 182.87 µs | +33% |
lo::cexpf_baseline |
250.14 µs | 241.49 µs | +4% |
wfm_synth::bpsk rrc sps=8 |
250.40 µs | 194.48 µs | +29% |
wfm_synth::qpsk rrc sps=8 |
254.11 µs | 198.25 µs | +28% |
ddcr::execute_ctrl_push[rate=0.25] |
265.68 µs | 272.52 µs | -3% |
ccsds_tm::asm_find |
267.75 µs | 177.67 µs | +51% |
resample::ciccompmf[M=5] |
268.89 µs | 270.03 µs | -0% |
dp_tlm::full |
271.21 µs | 271.21 µs | +0% |
Resampler::reset |
273.42 µs | 273.30 µs | +0% |
fft2d::execute_cf32[1024x64] |
275.54 µs | 260.22 µs | +6% |
hbdecim_q15::execute[taps=64,K_pad=32] |
275.76 µs | 178.88 µs | +54% |
syncword::find[n=64] |
276.17 µs | 152.52 µs | +81% |
fft2d::execute_inplace_cf32[1024x64] |
279.23 µs | 263.33 µs | +6% |
wfm_reader::blue seek (strided) |
285.10 µs | 288.71 µs | -1% |
fft2d::execute_cf32[64x1024] |
289.58 µs | 279.28 µs | +4% |
fft2d::execute_inplace_cf32[64x1024] |
290.30 µs | 279.91 µs | +4% |
interp_table::execute[nearest] |
290.32 µs | 289.98 µs | +0% |
wfm_synth::bpsk +noise |
291.82 µs | 292.29 µs | -0% |
dsss_burst_receiver::push_idle |
293.57 µs | 267.03 µs | +10% |
hbdecim_q15::execute[taps=66,K_pad=48] |
294.78 µs | 185.80 µs | +59% |
fft2d::execute_cf32[16x4096] |
294.96 µs | 278.20 µs | +6% |
fft2d::execute_inplace_cf32[16x4096] |
297.16 µs | 278.60 µs | +7% |
wfm_synth::qpsk +noise |
299.02 µs | 300.97 µs | -1% |
interp_table::execute[linear] |
299.41 µs | 299.42 µs | -0% |
wfm_synth::bpsk rrc sps=4 |
306.98 µs | 252.94 µs | +21% |
ddc::execute[rate=0.77] |
311.36 µs | 366.81 µs | -15% |
interp_table::execute[cubic] |
312.45 µs | 301.32 µs | +4% |
burst_acq::push[sf=15,spc=2] |
316.79 µs | 316.63 µs | +0% |
wfm_synth::pn +LO +noise |
321.84 µs | 311.68 µs | +3% |
spectral::magnitude_db_cf64[4096] |
332.66 µs | 332.67 µs | -0% |
async_dsss_pool::push[12 slots, serial] |
333.10 µs | 303.37 µs | +10% |
wfm_writer::raw ci8 (quantise) |
341.07 µs | 315.12 µs | +8% |
fft::execute_cf64[n=65536] |
347.80 µs | 180.55 µs | +93% |
syncword::max_errors_for[n=32] |
358.98 µs | 359.64 µs | -0% |
symsync::steps |
373.92 µs | 372.12 µs | +0% |
wfm_writer::raw ci16 (quantise) |
384.50 µs | 355.74 µs | +8% |
fir::execute[taps=15,complex] |
389.78 µs | 96.76 µs | +303% |
RateConverter::Resamp(1/3) |
390.00 µs | 425.51 µs | -8% |
nprmeas::analyze[n=65536] |
390.70 µs | 334.92 µs | +17% |
specan::execute[rbw=100k] |
393.05 µs | 387.36 µs | +1% |
specan::execute[rbw=10k] |
393.93 µs | 348.14 µs | +13% |
burst_despreader::steps[sf=31] |
400.34 µs | 340.08 µs | +18% |
detector2d::push[128x128] |
403.37 µs | 353.25 µs | +14% |
dsss_burst_receiver::push_burst |
405.46 µs | 360.11 µs | +13% |
detector2d::push[128x128,no-detections] |
405.90 µs | 356.36 µs | +14% |
burst_despreader::steps[sf=63] |
409.47 µs | 343.10 µs | +19% |
imdmeas::analyze[n=65536] |
413.68 µs | 351.79 µs | +18% |
specan::execute[rbw=1k] |
420.62 µs | 370.23 µs | +14% |
burst_despreader::steps[sf=15] |
423.05 µs | 364.71 µs | +16% |
corr2d::single_row_fast_path |
430.73 µs | 305.43 µs | +41% |
spectral::hann_window[4096] |
437.86 µs | 438.36 µs | -0% |
fft2d::execute_cf64[1024x64] |
469.70 µs | 356.59 µs | +32% |
tonemeas::analyze[n=65536] |
471.10 µs | 413.62 µs | +14% |
fft2d::execute_cf64[16x4096] |
477.27 µs | 376.76 µs | +27% |
ccsds::asm_bits |
481.92 µs | 52.07 µs | +825% |
ccsds::ccsds_tm_asm_bits |
482.75 µs | 52.17 µs | +825% |
agc::steps |
483.57 µs | 470.69 µs | +3% |
syncword::find[n=128] |
488.83 µs | 263.52 µs | +85% |
fft2d::execute_cf64[64x1024] |
489.54 µs | 386.00 µs | +27% |
carrier_nda::step |
522.12 µs | 502.58 µs | +4% |
detection::det_pd[dwell=1] |
524.75 µs | 519.38 µs | +1% |
carrier_nda::steps |
533.81 µs | 513.07 µs | +4% |
fft2d::execute_cf64[256x256] |
536.87 µs | 412.34 µs | +30% |
corr2d::multi_row_general_path |
538.18 µs | 408.93 µs | +32% |
mpsk::demap[m=2] |
540.27 µs | 527.99 µs | +2% |
mpsk::diff_demap[m=2] |
556.26 µs | 550.46 µs | +1% |
util::ema_alpha_decim |
557.36 µs | 522.21 µs | +7% |
burst_demod::demod[clean] |
561.47 µs | 390.47 µs | +44% |
burst_acq::push[sf=15,spc=4] |
580.61 µs | 537.54 µs | +8% |
ddc::execute_ctrl_push[rate=0.25] |
583.49 µs | 581.32 µs | +0% |
cvt::int_to_bin |
599.85 µs | 584.80 µs | +3% |
tonemeas::analyze_complex[n=65536] |
614.66 µs | 547.16 µs | +12% |
detection::marcum_q[m=1] |
628.28 µs | 622.91 µs | +1% |
detector2d::push[1024x16] |
630.61 µs | 574.39 µs | +10% |
burst_demod::demod[offset] |
632.88 µs | 532.50 µs | +19% |
dsss_receiver::search |
646.03 µs | 1.10 ms | -42% |
mpsk::demap[m=8] |
646.25 µs | 637.84 µs | +1% |
mpsk::soft_demap[m=4] |
648.49 µs | 625.02 µs | +4% |
detector2d::push[16x1024] |
653.87 µs | 623.54 µs | +5% |
mpsk::map[m=2] |
664.12 µs | 587.83 µs | +13% |
mpsk::diff_map[m=2] |
674.26 µs | 584.05 µs | +15% |
mpsk::diff_demap[m=8] |
681.51 µs | 685.51 µs | -1% |
mpsk::demap[m=4] |
682.46 µs | 671.77 µs | +2% |
detection::marcum_q[m=4] |
706.04 µs | 700.05 µs | +1% |
mpsk::map[m=8] |
709.65 µs | 629.54 µs | +13% |
mpsk::diff_demap[m=4] |
710.89 µs | 706.80 µs | +1% |
mpsk::map[m=4] |
716.37 µs | 632.96 µs | +13% |
burst_acq::push[sf=63,spc=2] |
721.30 µs | 642.00 µs | +12% |
fir::execute[taps=63,real] |
721.95 µs | 221.24 µs | +226% |
mpsk::diff_map[m=8] |
727.95 µs | 577.55 µs | +26% |
rs::encode |
731.96 µs | 740.04 µs | -1% |
async_dsss_receiver::steps[warm] |
732.13 µs | 657.67 µs | +11% |
rs_codec::encode_kernel |
732.56 µs | 707.46 µs | +4% |
rs_codec::encode |
733.11 µs | 708.45 µs | +3% |
mpsk::diff_map[m=4] |
734.35 µs | 608.20 µs | +21% |
async_dsss_receiver::steps[cell] |
741.55 µs | 669.09 µs | +11% |
ber_meter::align |
801.48 µs | 813.40 µs | -1% |
RateConverter::Interp(2.0) |
807.72 µs | 659.65 µs | +22% |
detection::det_q_inv |
814.67 µs | 769.23 µs | +6% |
ber_meter::score |
823.58 µs | 984.01 µs | -16% |
burst_acq::push[sf=63,spc=4] |
892.38 µs | 816.18 µs | +9% |
spectral::noise_floor_db[4096] |
908.63 µs | 908.96 µs | -0% |
wfm::rc_h[4096] |
914.84 µs | 899.91 µs | +2% |
ratesync::steps[gardner,sps=8] |
915.76 µs | 819.43 µs | +12% |
wfm::rrc_h[4096] |
919.09 µs | 904.56 µs | +2% |
ppe::chirp |
929.82 µs | 842.42 µs | +10% |
ber::qfunc |
948.92 µs | 914.58 µs | +4% |
cvt::hex_to_bin |
952.30 µs | 933.26 µs | +2% |
syncword::find[n=256] |
962.45 µs | 491.61 µs | +96% |
wfm::rrc_taps[sps=4,span=8] |
969.89 µs | 956.01 µs | +1% |
detection::det_pd[dwell=64] |
972.44 µs | 961.58 µs | +1% |
ratesync::steps[dttl,sps=8] |
979.55 µs | 899.44 µs | +9% |
mpsk::soft_demap[m=8] |
984.34 µs | 900.64 µs | +9% |
ratesync::steps[gardner,sps=4] |
1.00 ms | 928.91 µs | +8% |
ccsds_tm::rs_encode_block |
1.04 ms | 990.86 µs | +5% |
mpsk_receiver::steps[sps=4,agc=0] |
1.06 ms | 1.06 ms | +0% |
doppler_channel::execute[static] |
1.09 ms | 859.06 µs | +27% |
doppler_channel::execute[ramp] |
1.09 ms | 859.34 µs | +27% |
mpsk_receiver::steps[sps=8,agc=0] |
1.10 ms | 1.07 ms | +2% |
ratesync::steps[dttl,sps=4] |
1.10 ms | 989.30 µs | +11% |
fir::execute[taps=63,complex] |
1.16 ms | 525.32 µs | +121% |
ber::theory_ser |
1.17 ms | 1.14 ms | +3% |
carrier_mpsk::steps[m=2] |
1.21 ms | 1.18 ms | +2% |
carrier_mpsk::steps[m=2,fll] |
1.24 ms | 1.23 ms | +1% |
spectral::blackman_harris_window[4096] |
1.32 ms | 1.31 ms | +1% |
ber::evm_db |
1.34 ms | 1.35 ms | -0% |
ber::theory_ber |
1.35 ms | 1.33 ms | +2% |
spectral::kaiser_window[4096] |
1.40 ms | 1.40 ms | +0% |
carrier_mpsk::steps[m=8] |
1.45 ms | 1.17 ms | +24% |
dll::steps |
1.47 ms | 1.28 ms | +15% |
timing::pace (no-wait overhead) |
1.50 ms | 1.49 ms | +0% |
carrier_mpsk::steps[m=4] |
1.54 ms | 1.26 ms | +23% |
carrier_mpsk::steps[m=4,fll] |
1.55 ms | 1.26 ms | +23% |
mpsk_receiver::steps[sps=4,agc=1] |
1.56 ms | 1.51 ms | +3% |
carrier_mpsk::steps[m=8,fll] |
1.57 ms | 1.23 ms | +27% |
mpsk_receiver::steps[sps=8,agc=1] |
1.58 ms | 1.54 ms | +2% |
despreader::steps |
1.60 ms | 1.39 ms | +15% |
ccsds_tm::randomise |
1.61 ms | 1.61 ms | +0% |
ccsds_tm::frame_encode[rand] |
1.63 ms | 1.60 ms | +1% |
detection::det_dwell[max=256] |
1.69 ms | 1.68 ms | +1% |
agc::step |
1.85 ms | 1.60 ms | +16% |
dsss_receiver::track |
1.90 ms | 1.76 ms | +7% |
detection::det_snr[dwell=8] |
1.91 ms | 1.89 ms | +1% |
burst_capture::push[quiet] |
2.32 ms | 2.30 ms | +1% |
burst_capture::push[4 bursts, file-backed] |
2.35 ms | 2.18 ms | +8% |
burst_capture::push[4 bursts] |
2.35 ms | 2.19 ms | +7% |
buffer::two_thread_write_wait_consume[f32,frame=64] |
2.49 ms | 2.71 ms | -8% |
viterbi::decode[depth=35] |
2.65 ms | 2.77 ms | -4% |
dp_tlm_capture::drain |
2.83 ms | 3.23 ms | -12% |
ccsds_tm::frame_encode[rs+rand] |
2.90 ms | 2.83 ms | +2% |
acq::native_nc90 |
3.35 ms | 4.03 ms | -17% |
dp_event_log::noflush |
3.40 ms | 3.35 ms | +1% |
viterbi::decode[depth=96] |
3.75 ms | 4.00 ms | -6% |
fir::execute[taps=255,real] |
3.76 ms | 1.26 ms | +198% |
fir::execute[taps=255,complex] |
3.86 ms | 3.04 ms | +27% |
dp_event_log::bare |
3.89 ms | 3.90 ms | -0% |
resample::ciccompmf[M=19] |
4.11 ms | 4.06 ms | +1% |
ccsds_tm::frame_encode[full] |
4.82 ms | 4.54 ms | +6% |
HalfbandDecimator::execute[block=32768] |
4.90 ms | 5.52 ms | -11% |
HalfbandDecimator::execute[block=65536] |
4.90 ms | 5.52 ms | -11% |
HalfbandDecimator::execute[block=1024] |
4.94 ms | 5.57 ms | -11% |
HalfbandDecimator::execute[block=8192] |
4.94 ms | 5.56 ms | -11% |
rs_codec::decode[e=0] |
4.95 ms | 4.96 ms | -0% |
rs::decode[e=0] |
4.98 ms | 4.97 ms | +0% |
rs::verify |
4.98 ms | 4.97 ms | +0% |
rs::decode[e=8] |
5.68 ms | 5.73 ms | -1% |
burst_demod::demod[chirp] |
5.70 ms | 5.09 ms | +12% |
ccsds_tm::rs_decode_block |
6.38 ms | 6.37 ms | +0% |
acq::op2M_U5k_nc51 |
6.48 ms | 4.88 ms | +33% |
rs_codec::decode[e=E] |
6.53 ms | 6.50 ms | +0% |
acq::native_nc176 |
6.54 ms | 7.88 ms | -17% |
rs::decode[e=16] |
6.58 ms | 6.62 ms | -0% |
async_dsss_receiver::steps[cold] |
6.74 ms | 6.44 ms | +5% |
wfm_reader::csv cf32 (text parse) |
9.28 ms | 9.28 ms | -0% |
acq::native_nc256 |
9.51 ms | 11.45 ms | -17% |
dp_event_log::fields |
9.55 ms | 9.38 ms | +2% |
wfm_writer::csv cf32 (text) |
9.75 ms | 9.78 ms | -0% |
resamp::execute[rate=0.5000,block=819200] |
11.75 ms | 13.42 ms | -12% |
acq::op2M_U5k_nc96 |
12.10 ms | 8.72 ms | +39% |
acq::op5M_U5k_nc225 |
13.82 ms | 10.34 ms | +34% |
resamp::execute[rate=0.5000,block=409600] |
14.69 ms | 16.78 ms | -12% |
resamp::execute[rate=0.5000,block=20480] |
14.70 ms | 16.68 ms | -12% |
resamp::execute[rate=0.5000,block=1024] |
14.71 ms | 16.74 ms | -12% |
acq::op5M_U5k_nc256 |
15.77 ms | 12.03 ms | +31% |
resamp::execute[rate=1.0001,block=819200] |
16.00 ms | 13.45 ms | +19% |
acq::op2M_U5k_nc137 |
17.31 ms | 12.98 ms | +33% |
acq::op2M_U17k_nc54 |
17.54 ms | 12.82 ms | +37% |
resamp::execute[rate=0.9999,block=819200] |
17.60 ms | 22.17 ms | -21% |
detection::det_threshold_noncoherent[n=8] |
19.26 ms | 19.54 ms | -1% |
resamp::execute[rate=1.0001,block=20480] |
19.97 ms | 16.76 ms | +19% |
resamp::execute[rate=1.0001,block=1024] |
19.99 ms | 16.76 ms | +19% |
resamp::execute[rate=1.0001,block=409600] |
19.99 ms | 16.80 ms | +19% |
resamp::execute[rate=2.0000,block=819200] |
20.19 ms | 16.54 ms | +22% |
resamp::execute[rate=0.9999,block=1024] |
21.94 ms | 27.71 ms | -21% |
resamp::execute[rate=0.9999,block=20480] |
21.98 ms | 27.71 ms | -21% |
resamp::execute[rate=0.9999,block=409600] |
21.99 ms | 27.71 ms | -21% |
async_dsss_receiver::steps[warm,op5M] |
22.18 ms | 19.29 ms | +15% |
async_dsss_receiver::steps[cell,op5M] |
22.20 ms | 19.32 ms | +15% |
resamp::execute[rate=2.0000,block=1024] |
25.22 ms | 20.59 ms | +23% |
resamp::execute[rate=2.0000,block=409600] |
25.23 ms | 20.62 ms | +22% |
resamp::execute[rate=2.0000,block=20480] |
25.24 ms | 20.60 ms | +23% |
acq::op5M_U50k_t4_nc254 |
29.74 ms | 23.24 ms | +28% |
acq::op5M_U50k_t4_nc256 |
30.02 ms | 23.51 ms | +28% |
acq::op5M_U17k_nc238 |
30.15 ms | 22.60 ms | +33% |
acq::op5M_U50k_t8_nc254 |
31.54 ms | 25.20 ms | +25% |
acq::op5M_U50k_t8_nc256 |
31.78 ms | 25.30 ms | +26% |
acq::op5M_U17k_nc256 |
32.37 ms | 24.19 ms | +34% |
acq::op2M_U17k_nc101 |
32.69 ms | 24.89 ms | +31% |
snr::series[window=1024] |
40.66 ms | 20.91 ms | +94% |
wfm_reader::csv seek (scan) |
46.24 ms | 46.31 ms | -0% |
acq::op2M_U17k_nc144 |
46.42 ms | 33.97 ms | +37% |
acq::op5M_U50k_t2_nc254 |
49.86 ms | 38.44 ms | +30% |
acq::op2M_U50k_nc57 |
50.07 ms | 39.22 ms | +28% |
acq::op5M_U50k_t2_nc256 |
50.08 ms | 38.58 ms | +30% |
acq::wideband_nc112 |
65.44 ms | 50.69 ms | +29% |
async_dsss_receiver::steps[cold,op5M] |
84.38 ms | 74.20 ms | +14% |
acq::op5M_U50k_nc254 |
90.47 ms | 70.92 ms | +28% |
acq::op5M_U50k_nc256 |
91.01 ms | 68.15 ms | +34% |
acq::op2M_U50k_nc107 |
93.92 ms | 72.88 ms | +29% |
acq::wideband_nc215 |
125.00 ms | 91.48 ms | +37% |
acq::op2M_U50k_nc151 |
132.38 ms | 102.60 ms | +29% |
acq::wideband_nc256 |
149.31 ms | 113.83 ms | +31% |
measure::measure_min_samples |
202.61 ms | 201.78 ms | +0% |
frame_meter::fer |
338.04 ms | 341.60 ms | -1% |
Release history (portable build)¶
Portable-build throughput across releases — the wheel numbers. Comparable only across releases measured on the same machine.
Python (pytest-benchmark)¶
| benchmark | v0.10.1 | v0.12.0 | v0.16.1 | v0.21.0 | v0.35.0 | v0.37.3 | v0.43.0 | v0.45.0 | v0.46.0 | v0.47.0 | v0.48.0 | v0.49.0 | v0.50.0 | v0.51.0 | v0.53.0 | v0.54.0 | v0.56.0 | v0.57.0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
corr::bench_corr::test_bench_execute_64k |
52.00 GSa/s | 47.73 GSa/s | 279.64 GSa/s | 314.77 GSa/s | 385.71 GSa/s | 389.41 GSa/s | 221.73 GSa/s | 218.58 GSa/s | 232.51 GSa/s | 226.88 GSa/s | 227.45 GSa/s | 230.62 GSa/s | 244.90 GSa/s | 237.38 GSa/s | 244.72 GSa/s | 245.25 GSa/s | 234.22 GSa/s | 241.45 GSa/s |
i16_buffer::bench_i16_buffer::test_bench_write_some_oversize |
— | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 19.58 GSa/s | 19.47 GSa/s | 19.57 GSa/s |
i32_to_f32::bench_i32_to_f32::test_bench_steps_64k |
18.89 GSa/s | 18.91 GSa/s | 18.88 GSa/s | 18.40 GSa/s | 18.86 GSa/s | 18.80 GSa/s | 18.57 GSa/s | 18.81 GSa/s | 18.86 GSa/s | 18.75 GSa/s | 18.80 GSa/s | 18.76 GSa/s | 18.75 GSa/s | 18.78 GSa/s | 18.86 GSa/s | 18.90 GSa/s | 18.85 GSa/s | 18.92 GSa/s |
i16_to_f32::bench_i16_to_f32::test_bench_steps_64k |
17.96 GSa/s | 17.97 GSa/s | 18.01 GSa/s | 18.01 GSa/s | 17.96 GSa/s | 17.94 GSa/s | 17.86 GSa/s | 17.90 GSa/s | 17.95 GSa/s | 17.97 GSa/s | 17.96 GSa/s | 17.87 GSa/s | 17.98 GSa/s | 17.95 GSa/s | 17.98 GSa/s | 17.94 GSa/s | 17.99 GSa/s | 18.01 GSa/s |
wfm_synth::bench_wfm_synth::test_bench_steps_64k |
— | 15.92 GSa/s | 15.86 GSa/s | 16.07 GSa/s | 15.79 GSa/s | 16.85 GSa/s | 17.65 GSa/s | 17.65 GSa/s | 17.69 GSa/s | 17.71 GSa/s | 17.68 GSa/s | 17.63 GSa/s | 17.68 GSa/s | 17.74 GSa/s | 17.71 GSa/s | 17.67 GSa/s | 17.69 GSa/s | 17.68 GSa/s |
f32_buffer::bench_f32_buffer::test_bench_write_some_oversize |
— | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 11.88 GSa/s | 15.02 GSa/s | 14.32 GSa/s |
i8_to_f32::bench_i8_to_f32::test_bench_steps_64k |
12.13 GSa/s | 13.06 GSa/s | 14.21 GSa/s | 13.98 GSa/s | 14.29 GSa/s | 14.05 GSa/s | 14.24 GSa/s | 14.28 GSa/s | 14.31 GSa/s | 14.31 GSa/s | 14.29 GSa/s | 14.26 GSa/s | 14.28 GSa/s | 14.28 GSa/s | 14.32 GSa/s | 14.31 GSa/s | 14.28 GSa/s | 14.29 GSa/s |
i16u32_to_f32::bench_i16u32_to_f32::test_bench_steps_64k |
13.08 GSa/s | 13.15 GSa/s | 13.17 GSa/s | 12.70 GSa/s | 13.13 GSa/s | 13.04 GSa/s | 13.10 GSa/s | 13.14 GSa/s | 13.13 GSa/s | 13.13 GSa/s | 13.16 GSa/s | 13.10 GSa/s | 13.16 GSa/s | 13.17 GSa/s | 13.15 GSa/s | 13.14 GSa/s | 13.17 GSa/s | 13.16 GSa/s |
uq15_to_f32::bench_uq15_to_f32::test_bench_steps_64k |
11.87 GSa/s | 12.87 GSa/s | 12.53 GSa/s | 12.85 GSa/s | 12.31 GSa/s | 12.04 GSa/s | 12.83 GSa/s | 12.87 GSa/s | 12.87 GSa/s | 12.88 GSa/s | 12.88 GSa/s | 12.82 GSa/s | 12.85 GSa/s | 12.87 GSa/s | 12.88 GSa/s | 12.88 GSa/s | 12.86 GSa/s | 12.88 GSa/s |
i16u64_to_f32::bench_i16u64_to_f32::test_bench_steps_64k |
9.47 GSa/s | 9.20 GSa/s | 9.65 GSa/s | 9.33 GSa/s | 9.80 GSa/s | 8.94 GSa/s | 9.83 GSa/s | 9.91 GSa/s | 10.02 GSa/s | 10.07 GSa/s | 9.96 GSa/s | 10.03 GSa/s | 9.84 GSa/s | 9.85 GSa/s | 10.09 GSa/s | 9.85 GSa/s | 9.93 GSa/s | 9.98 GSa/s |
acc_f32::bench_acc_f32::test_bench_steps[819200] |
6.11 GSa/s | 6.05 GSa/s | 6.46 GSa/s | 6.24 GSa/s | 6.36 GSa/s | 6.07 GSa/s | 6.67 GSa/s | 6.69 GSa/s | 6.69 GSa/s | 6.69 GSa/s | 6.69 GSa/s | 6.69 GSa/s | 6.69 GSa/s | 6.69 GSa/s | 6.69 GSa/s | 6.69 GSa/s | 6.70 GSa/s | 6.70 GSa/s |
acc_f32::bench_acc_f32::test_bench_steps[409600] |
6.25 GSa/s | 6.30 GSa/s | 6.67 GSa/s | 6.44 GSa/s | 5.89 GSa/s | 6.39 GSa/s | 6.60 GSa/s | 6.68 GSa/s | 6.68 GSa/s | 6.69 GSa/s | 6.68 GSa/s | 6.68 GSa/s | 6.68 GSa/s | 6.68 GSa/s | 6.69 GSa/s | 6.69 GSa/s | 6.69 GSa/s | 6.69 GSa/s |
acc_f32::bench_acc_f32::test_bench_steps[20480] |
6.29 GSa/s | 6.52 GSa/s | 6.46 GSa/s | 6.01 GSa/s | 5.76 GSa/s | 5.80 GSa/s | 6.55 GSa/s | 6.57 GSa/s | 6.57 GSa/s | 6.57 GSa/s | 6.56 GSa/s | 6.57 GSa/s | 6.57 GSa/s | 6.56 GSa/s | 6.56 GSa/s | 6.56 GSa/s | 6.56 GSa/s | 6.56 GSa/s |
delay::bench_delay::test_bench_push_ptr_64k |
5.72 GSa/s | 5.79 GSa/s | 6.00 GSa/s | 6.00 GSa/s | 5.62 GSa/s | 5.59 GSa/s | 5.90 GSa/s | 5.84 GSa/s | 6.22 GSa/s | 5.93 GSa/s | 5.91 GSa/s | 6.20 GSa/s | 6.15 GSa/s | 5.84 GSa/s | 5.93 GSa/s | 5.88 GSa/s | 6.02 GSa/s | 6.12 GSa/s |
f32_buffer::bench_f32_buffer::test_bench_write_some_peek |
— | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 6.15 GSa/s | 6.26 GSa/s | 5.63 GSa/s |
i16_buffer::bench_i16_buffer::test_bench_write_some_peek |
— | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 5.14 GSa/s | 5.52 GSa/s | 5.44 GSa/s |
acc_f32::bench_acc_f32::test_bench_steps[1024] |
4.68 GSa/s | 5.00 GSa/s | 5.14 GSa/s | 5.04 GSa/s | 5.22 GSa/s | 4.69 GSa/s | 5.39 GSa/s | 5.42 GSa/s | 5.43 GSa/s | 5.44 GSa/s | 5.42 GSa/s | 5.43 GSa/s | 5.43 GSa/s | 5.43 GSa/s | 5.43 GSa/s | 5.42 GSa/s | 5.43 GSa/s | 5.42 GSa/s |
f64_buffer::bench_f64_buffer::test_bench_write_some_oversize |
— | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 4.91 GSa/s | 5.15 GSa/s | 5.25 GSa/s |
acc_q15::bench_acc_q15::test_bench_steps_64k |
4.20 GSa/s | 4.59 GSa/s | 4.88 GSa/s | 4.94 GSa/s | 4.10 GSa/s | 4.74 GSa/s | 4.99 GSa/s | 5.00 GSa/s | 5.00 GSa/s | 5.00 GSa/s | 5.00 GSa/s | 5.00 GSa/s | 5.00 GSa/s | 5.00 GSa/s | 5.00 GSa/s | 5.00 GSa/s | 5.00 GSa/s | 5.00 GSa/s |
acc_q8::bench_acc_q8::test_bench_steps_64k |
4.05 GSa/s | 4.24 GSa/s | 4.14 GSa/s | 3.96 GSa/s | 4.14 GSa/s | 4.06 GSa/s | 4.20 GSa/s | 4.26 GSa/s | 4.25 GSa/s | 4.25 GSa/s | 4.26 GSa/s | 4.26 GSa/s | 4.26 GSa/s | 4.26 GSa/s | 4.25 GSa/s | 4.25 GSa/s | 4.26 GSa/s | 4.26 GSa/s |
nco::bench_nco::test_bench_steps_u32_64k |
9.10 GSa/s | 9.99 GSa/s | 10.36 GSa/s | 9.05 GSa/s | 4.08 GSa/s | 3.44 GSa/s | 4.09 GSa/s | 4.10 GSa/s | 4.11 GSa/s | 4.10 GSa/s | 4.10 GSa/s | 4.10 GSa/s | 4.10 GSa/s | 4.10 GSa/s | 4.10 GSa/s | 4.08 GSa/s | 4.09 GSa/s | 4.07 GSa/s |
f32_buffer::bench_f32_buffer::test_bench_write_wait |
— | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 4.20 GSa/s | 4.23 GSa/s | 3.93 GSa/s |
lo::bench_lo::test_bench_steps_64k |
3.31 GSa/s | 3.61 GSa/s | 3.81 GSa/s | 3.75 GSa/s | 3.61 GSa/s | 3.48 GSa/s | 3.81 GSa/s | 3.83 GSa/s | 3.83 GSa/s | 3.81 GSa/s | 3.82 GSa/s | 3.86 GSa/s | 3.82 GSa/s | 3.85 GSa/s | 3.86 GSa/s | 3.87 GSa/s | 3.87 GSa/s | 3.87 GSa/s |
f64_buffer::bench_f64_buffer::test_bench_write_some_peek |
— | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 4.44 GSa/s | 3.81 GSa/s | 3.85 GSa/s |
i16_buffer::bench_i16_buffer::test_bench_write_wait |
— | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 3.56 GSa/s | 3.71 GSa/s | 3.79 GSa/s |
nco::bench_nco::test_bench_steps_u32_ovf_64k |
4.27 GSa/s | 4.25 GSa/s | 4.31 GSa/s | 4.08 GSa/s | 3.00 GSa/s | 2.82 GSa/s | 3.13 GSa/s | 3.18 GSa/s | 3.17 GSa/s | 3.17 GSa/s | 3.17 GSa/s | 3.18 GSa/s | 3.16 GSa/s | 3.16 GSa/s | 3.17 GSa/s | 3.18 GSa/s | 3.18 GSa/s | 3.18 GSa/s |
f64_buffer::bench_f64_buffer::test_bench_write_wait |
— | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 3.54 GSa/s | 3.08 GSa/s | 3.07 GSa/s |
acc_cf64::bench_acc_cf64::test_bench_steps[819200] |
1.40 GSa/s | 1.50 GSa/s | 1.50 GSa/s | 1.47 GSa/s | 1.48 GSa/s | 1.55 GSa/s | 1.64 GSa/s | 1.66 GSa/s | 1.67 GSa/s | 1.67 GSa/s | 1.67 GSa/s | 1.67 GSa/s | 1.67 GSa/s | 1.67 GSa/s | 1.67 GSa/s | 1.66 GSa/s | 1.67 GSa/s | 1.68 GSa/s |
acc_cf64::bench_acc_cf64::test_bench_steps[409600] |
1.36 GSa/s | 1.61 GSa/s | 1.62 GSa/s | 1.61 GSa/s | 1.51 GSa/s | 1.50 GSa/s | 1.67 GSa/s | 1.67 GSa/s | 1.67 GSa/s | 1.67 GSa/s | 1.67 GSa/s | 1.67 GSa/s | 1.67 GSa/s | 1.67 GSa/s | 1.67 GSa/s | 1.67 GSa/s | 1.68 GSa/s | 1.68 GSa/s |
acc_cf64::bench_acc_cf64::test_bench_steps[20480] |
1.53 GSa/s | 1.50 GSa/s | 1.61 GSa/s | 1.58 GSa/s | 1.58 GSa/s | 1.58 GSa/s | 1.65 GSa/s | 1.67 GSa/s | 1.67 GSa/s | 1.67 GSa/s | 1.66 GSa/s | 1.67 GSa/s | 1.67 GSa/s | 1.66 GSa/s | 1.67 GSa/s | 1.66 GSa/s | 1.67 GSa/s | 1.67 GSa/s |
acc_cf64::bench_acc_cf64::test_bench_steps[1024] |
1.47 GSa/s | 1.46 GSa/s | 1.46 GSa/s | 1.46 GSa/s | 1.45 GSa/s | 1.45 GSa/s | 1.46 GSa/s | 1.46 GSa/s | 1.46 GSa/s | 1.58 GSa/s | 1.44 GSa/s | 1.46 GSa/s | 1.47 GSa/s | 1.46 GSa/s | 1.46 GSa/s | 1.46 GSa/s | 1.46 GSa/s | 1.46 GSa/s |
lo::bench_lo::test_bench_steps_ctrl_64k |
1.20 GSa/s | 1.20 GSa/s | 1.20 GSa/s | 1.10 GSa/s | 1.21 GSa/s | 1.14 GSa/s | 1.23 GSa/s | 1.25 GSa/s | 1.25 GSa/s | 1.25 GSa/s | 1.25 GSa/s | 1.25 GSa/s | 1.25 GSa/s | 1.25 GSa/s | 1.25 GSa/s | 1.25 GSa/s | 1.25 GSa/s | 1.25 GSa/s |
adc::bench_adc::test_bench_steps_64k |
963.9 MSa/s | 1.11 GSa/s | 1.08 GSa/s | 1.08 GSa/s | 1.10 GSa/s | 1.05 GSa/s | 1.07 GSa/s | 1.11 GSa/s | 1.12 GSa/s | 1.12 GSa/s | 1.11 GSa/s | 1.12 GSa/s | 1.11 GSa/s | 1.12 GSa/s | 1.12 GSa/s | 1.11 GSa/s | 1.12 GSa/s | 1.11 GSa/s |
compose::bench_compose::test_bench_writer[blue-cf32] |
— | 541.5 MSa/s | 494.1 MSa/s | 441.9 MSa/s | 470.0 MSa/s | 477.9 MSa/s | 499.0 MSa/s | 599.1 MSa/s | 667.5 MSa/s | 670.6 MSa/s | 599.5 MSa/s | 539.9 MSa/s | 532.2 MSa/s | 678.1 MSa/s | 684.8 MSa/s | 683.3 MSa/s | 687.3 MSa/s | 687.0 MSa/s |
compose::bench_compose::test_bench_writer[raw-cf32] |
— | 695.7 MSa/s | 621.1 MSa/s | 467.0 MSa/s | 435.7 MSa/s | 462.8 MSa/s | 495.9 MSa/s | 598.7 MSa/s | 664.4 MSa/s | 666.6 MSa/s | 597.0 MSa/s | 536.0 MSa/s | 530.3 MSa/s | 672.8 MSa/s | 679.1 MSa/s | 675.8 MSa/s | 677.0 MSa/s | 683.7 MSa/s |
fft::bench_fft::test_bench_execute_cf32_8k |
159.4 MSa/s | 77.9 MSa/s | 674.6 MSa/s | 648.8 MSa/s | 674.6 MSa/s | 587.4 MSa/s | 665.3 MSa/s | 668.8 MSa/s | 669.9 MSa/s | 669.6 MSa/s | 668.5 MSa/s | 666.5 MSa/s | 666.6 MSa/s | 668.3 MSa/s | 668.0 MSa/s | 670.1 MSa/s | 669.2 MSa/s | 669.8 MSa/s |
cic::bench_cic::decimate_R256 |
668.0 MSa/s | 728.9 MSa/s | 710.0 MSa/s | 681.4 MSa/s | 530.0 MSa/s | 570.1 MSa/s | 569.3 MSa/s | 608.3 MSa/s | 608.8 MSa/s | 606.8 MSa/s | 608.1 MSa/s | 608.3 MSa/s | 608.4 MSa/s | 607.6 MSa/s | 608.5 MSa/s | 578.4 MSa/s | 578.4 MSa/s | 578.0 MSa/s |
compose::bench_compose::test_bench_reader[raw-cf32] |
— | 1.70 GSa/s | 1.75 GSa/s | 2.04 GSa/s | 1.91 GSa/s | 530.5 MSa/s | 539.1 MSa/s | 567.6 MSa/s | 561.3 MSa/s | 567.4 MSa/s | 564.0 MSa/s | 556.6 MSa/s | 559.1 MSa/s | 554.4 MSa/s | 554.4 MSa/s | 553.7 MSa/s | 559.5 MSa/s | 560.1 MSa/s |
cic::bench_cic::decimate_R64 |
665.4 MSa/s | 686.0 MSa/s | 652.9 MSa/s | 648.4 MSa/s | 538.7 MSa/s | 564.0 MSa/s | 546.4 MSa/s | 579.9 MSa/s | 580.6 MSa/s | 579.1 MSa/s | 580.4 MSa/s | 580.3 MSa/s | 579.2 MSa/s | 580.2 MSa/s | 580.4 MSa/s | 553.5 MSa/s | 554.4 MSa/s | 553.3 MSa/s |
compose::bench_compose::test_bench_reader[blue-cf32] |
— | 1.48 GSa/s | 1.69 GSa/s | 1.86 GSa/s | 1.82 GSa/s | 480.7 MSa/s | 486.5 MSa/s | 516.1 MSa/s | 553.4 MSa/s | 497.8 MSa/s | 552.5 MSa/s | 553.1 MSa/s | 554.0 MSa/s | 498.1 MSa/s | 553.9 MSa/s | 552.9 MSa/s | 555.1 MSa/s | 548.1 MSa/s |
cic::bench_cic::decimate_R8 |
609.6 MSa/s | 663.8 MSa/s | 664.6 MSa/s | 627.0 MSa/s | 571.4 MSa/s | 530.5 MSa/s | 522.7 MSa/s | 547.3 MSa/s | 547.6 MSa/s | 546.9 MSa/s | 547.2 MSa/s | 547.5 MSa/s | 546.2 MSa/s | 547.3 MSa/s | 547.1 MSa/s | 529.5 MSa/s | 529.2 MSa/s | 529.5 MSa/s |
RateConverter::bench_RateConverter::test_bench_cic_64k |
601.3 MSa/s | 665.0 MSa/s | 648.4 MSa/s | 618.9 MSa/s | 633.9 MSa/s | 632.0 MSa/s | 524.0 MSa/s | 529.0 MSa/s | 529.5 MSa/s | 529.7 MSa/s | 529.4 MSa/s | 529.0 MSa/s | 529.0 MSa/s | 529.2 MSa/s | 529.7 MSa/s | 529.3 MSa/s | 529.4 MSa/s | 529.4 MSa/s |
cic::bench_cic::test_bench_decimate_64k |
643.3 MSa/s | 624.5 MSa/s | 667.9 MSa/s | 697.2 MSa/s | 546.2 MSa/s | 514.8 MSa/s | 526.3 MSa/s | 548.2 MSa/s | 547.5 MSa/s | 545.4 MSa/s | 548.4 MSa/s | 546.7 MSa/s | 546.9 MSa/s | 547.3 MSa/s | 547.1 MSa/s | 525.7 MSa/s | 525.9 MSa/s | 525.5 MSa/s |
cic::bench_cic::decimate_R32 |
691.9 MSa/s | 709.3 MSa/s | 702.5 MSa/s | 698.6 MSa/s | 540.7 MSa/s | 496.9 MSa/s | 517.2 MSa/s | 547.6 MSa/s | 547.6 MSa/s | 546.5 MSa/s | 547.1 MSa/s | 547.4 MSa/s | 546.9 MSa/s | 547.9 MSa/s | 547.4 MSa/s | 525.6 MSa/s | 525.9 MSa/s | 525.5 MSa/s |
f32_to_i16u32::bench_f32_to_i16u32::test_bench_steps_64k |
440.9 MSa/s | 457.3 MSa/s | 451.9 MSa/s | 457.1 MSa/s | 462.3 MSa/s | 456.4 MSa/s | 488.2 MSa/s | 502.2 MSa/s | 502.8 MSa/s | 501.5 MSa/s | 502.8 MSa/s | 502.7 MSa/s | 502.7 MSa/s | 502.4 MSa/s | 502.7 MSa/s | 502.9 MSa/s | 503.0 MSa/s | 503.0 MSa/s |
f32_to_i16::bench_f32_to_i16::test_bench_steps_64k |
419.9 MSa/s | 433.1 MSa/s | 444.0 MSa/s | 439.0 MSa/s | 465.5 MSa/s | 465.2 MSa/s | 446.4 MSa/s | 457.1 MSa/s | 457.3 MSa/s | 457.1 MSa/s | 457.2 MSa/s | 502.8 MSa/s | 502.7 MSa/s | 502.7 MSa/s | 502.8 MSa/s | 502.8 MSa/s | 503.1 MSa/s | 503.0 MSa/s |
cic::bench_cic::decimate_R4 |
570.0 MSa/s | 597.7 MSa/s | 589.3 MSa/s | 595.7 MSa/s | 506.3 MSa/s | 479.7 MSa/s | 479.3 MSa/s | 495.6 MSa/s | 496.1 MSa/s | 494.0 MSa/s | 494.9 MSa/s | 495.9 MSa/s | 495.2 MSa/s | 495.9 MSa/s | 495.8 MSa/s | 485.2 MSa/s | 484.7 MSa/s | 484.3 MSa/s |
farrow::bench_farrow::test_bench_delay_64k |
— | — | — | — | 426.3 MSa/s | 465.0 MSa/s | 471.5 MSa/s | 473.4 MSa/s | 473.1 MSa/s | 473.5 MSa/s | 473.8 MSa/s | 473.2 MSa/s | 473.2 MSa/s | 473.5 MSa/s | 473.3 MSa/s | 473.5 MSa/s | 473.7 MSa/s | 473.9 MSa/s |
compose::bench_compose::test_bench_reader[raw-ci16] |
— | 922.5 MSa/s | 979.6 MSa/s | 1.04 GSa/s | 972.6 MSa/s | 473.0 MSa/s | 470.5 MSa/s | 478.1 MSa/s | 478.3 MSa/s | 478.8 MSa/s | 479.1 MSa/s | 473.8 MSa/s | 474.3 MSa/s | 473.1 MSa/s | 473.6 MSa/s | 475.0 MSa/s | 475.1 MSa/s | 473.4 MSa/s |
f32_to_uq15::bench_f32_to_uq15::test_bench_steps_64k |
445.3 MSa/s | 442.2 MSa/s | 439.2 MSa/s | 434.4 MSa/s | 406.7 MSa/s | 399.0 MSa/s | 444.3 MSa/s | 457.0 MSa/s | 457.2 MSa/s | 456.1 MSa/s | 457.1 MSa/s | 456.9 MSa/s | 457.1 MSa/s | 457.1 MSa/s | 457.0 MSa/s | 457.1 MSa/s | 457.5 MSa/s | 457.4 MSa/s |
f32_to_i16u64::bench_f32_to_i16u64::test_bench_steps_64k |
414.3 MSa/s | 456.5 MSa/s | 456.9 MSa/s | 451.8 MSa/s | 410.4 MSa/s | 435.8 MSa/s | 451.3 MSa/s | 456.6 MSa/s | 457.0 MSa/s | 456.9 MSa/s | 456.9 MSa/s | 456.7 MSa/s | 456.7 MSa/s | 456.7 MSa/s | 456.8 MSa/s | 456.9 MSa/s | 457.0 MSa/s | 457.3 MSa/s |
fft2d::bench_fft2d::test_bench_execute_cf32 |
514.7 MSa/s | 524.0 MSa/s | 445.8 MSa/s | 445.4 MSa/s | 416.5 MSa/s | 401.7 MSa/s | 440.7 MSa/s | 447.3 MSa/s | 448.7 MSa/s | 446.6 MSa/s | 445.0 MSa/s | 447.1 MSa/s | 447.4 MSa/s | 447.5 MSa/s | 447.9 MSa/s | 446.5 MSa/s | 448.9 MSa/s | 447.7 MSa/s |
costas::bench_costas::test_bench_steps_64k |
— | — | — | — | 345.7 MSa/s | 384.4 MSa/s | 414.0 MSa/s | 417.6 MSa/s | 418.2 MSa/s | 418.4 MSa/s | 418.0 MSa/s | 417.9 MSa/s | 418.0 MSa/s | 418.4 MSa/s | 417.9 MSa/s | 417.4 MSa/s | 417.4 MSa/s | 417.9 MSa/s |
RateConverter::bench_RateConverter::test_bench_hb_64k |
410.4 MSa/s | 365.6 MSa/s | 415.8 MSa/s | 390.3 MSa/s | 371.8 MSa/s | 381.2 MSa/s | 407.3 MSa/s | 413.4 MSa/s | 413.3 MSa/s | 413.6 MSa/s | 413.4 MSa/s | 413.3 MSa/s | 412.5 MSa/s | 413.3 MSa/s | 413.3 MSa/s | 413.3 MSa/s | 413.4 MSa/s | 413.5 MSa/s |
HalfbandDecimator::bench_HalfbandDecimator::test_bench_execute_64k |
389.9 MSa/s | 381.6 MSa/s | 407.3 MSa/s | 396.0 MSa/s | 387.2 MSa/s | 380.7 MSa/s | 398.9 MSa/s | 407.1 MSa/s | 407.2 MSa/s | 407.3 MSa/s | 407.0 MSa/s | 406.7 MSa/s | 406.2 MSa/s | 406.6 MSa/s | 407.8 MSa/s | 407.2 MSa/s | 406.6 MSa/s | 407.0 MSa/s |
resample::bench_resample::test_bench_hbdecim |
344.5 MSa/s | 359.4 MSa/s | 361.3 MSa/s | 361.1 MSa/s | 377.3 MSa/s | 354.3 MSa/s | 381.5 MSa/s | 380.0 MSa/s | 383.5 MSa/s | 384.0 MSa/s | 381.6 MSa/s | 379.3 MSa/s | 381.9 MSa/s | 379.6 MSa/s | 382.6 MSa/s | 381.0 MSa/s | 380.0 MSa/s | 381.0 MSa/s |
hbdecim_q15::bench_hbdecim_q15::test_bench_execute_64k |
— | — | — | — | 304.0 MSa/s | 310.4 MSa/s | 332.6 MSa/s | 342.1 MSa/s | 342.1 MSa/s | 343.0 MSa/s | 340.5 MSa/s | 341.4 MSa/s | 342.4 MSa/s | 342.8 MSa/s | 342.4 MSa/s | 341.0 MSa/s | 343.0 MSa/s | 342.6 MSa/s |
RateConverter::bench_RateConverter::test_bench_cic_resamp_64k |
352.5 MSa/s | 356.6 MSa/s | 379.3 MSa/s | 350.8 MSa/s | 355.6 MSa/s | 355.3 MSa/s | 322.9 MSa/s | 327.5 MSa/s | 327.6 MSa/s | 327.4 MSa/s | 327.3 MSa/s | 327.9 MSa/s | 327.2 MSa/s | 327.5 MSa/s | 328.1 MSa/s | 327.3 MSa/s | 327.9 MSa/s | 327.5 MSa/s |
awgn::bench_awgn::test_bench_generate_64k |
694.1 MSa/s | 718.6 MSa/s | 728.6 MSa/s | 728.8 MSa/s | 766.8 MSa/s | 695.9 MSa/s | 299.1 MSa/s | 301.9 MSa/s | 301.7 MSa/s | 302.0 MSa/s | 301.9 MSa/s | 301.7 MSa/s | 302.0 MSa/s | 301.9 MSa/s | 301.6 MSa/s | 301.7 MSa/s | 301.8 MSa/s | 302.1 MSa/s |
corr2d::bench_corr2d::test_bench_corr2d_pffft_dwell8 |
— | — | — | — | 247.7 MSa/s | 259.9 MSa/s | 271.5 MSa/s | 276.1 MSa/s | 277.2 MSa/s | 276.1 MSa/s | 276.9 MSa/s | 276.8 MSa/s | 275.4 MSa/s | 275.9 MSa/s | 277.4 MSa/s | 276.9 MSa/s | 277.6 MSa/s | 277.1 MSa/s |
RateConverter::bench_RateConverter::test_bench_hb2_64k |
257.8 MSa/s | 276.9 MSa/s | 268.3 MSa/s | 265.6 MSa/s | 270.4 MSa/s | 260.0 MSa/s | 273.6 MSa/s | 275.9 MSa/s | 275.6 MSa/s | 275.2 MSa/s | 275.3 MSa/s | 275.5 MSa/s | 275.4 MSa/s | 275.6 MSa/s | 275.4 MSa/s | 275.7 MSa/s | 275.7 MSa/s | 275.8 MSa/s |
ddcr::bench_ddcr::test_bench_execute_64k |
251.6 MSa/s | 247.4 MSa/s | 258.6 MSa/s | 249.5 MSa/s | 248.2 MSa/s | 254.9 MSa/s | 253.4 MSa/s | 254.1 MSa/s | 254.4 MSa/s | 254.4 MSa/s | 254.0 MSa/s | 254.3 MSa/s | 254.3 MSa/s | 254.3 MSa/s | 254.1 MSa/s | 254.5 MSa/s | 254.6 MSa/s | 254.4 MSa/s |
ddc::bench_ddc::test_bench_execute_64k |
241.3 MSa/s | 228.5 MSa/s | 241.4 MSa/s | 231.7 MSa/s | 235.7 MSa/s | 242.1 MSa/s | 244.0 MSa/s | 246.0 MSa/s | 246.2 MSa/s | 246.1 MSa/s | 245.9 MSa/s | 246.2 MSa/s | 246.0 MSa/s | 245.7 MSa/s | 245.9 MSa/s | 246.0 MSa/s | 246.2 MSa/s | 246.2 MSa/s |
fft2d::bench_fft2d::test_bench_execute_cf64 |
286.4 MSa/s | 267.7 MSa/s | 242.4 MSa/s | 230.7 MSa/s | 227.6 MSa/s | 222.2 MSa/s | 235.7 MSa/s | 244.2 MSa/s | 244.7 MSa/s | 243.9 MSa/s | 244.2 MSa/s | 244.6 MSa/s | 244.8 MSa/s | 244.8 MSa/s | 244.6 MSa/s | 246.6 MSa/s | 244.9 MSa/s | 243.7 MSa/s |
fft::bench_fft::test_bench_execute_cf64_8k |
166.7 MSa/s | 179.0 MSa/s | 235.5 MSa/s | 233.3 MSa/s | 220.9 MSa/s | 220.5 MSa/s | 232.1 MSa/s | 234.9 MSa/s | 234.9 MSa/s | 232.7 MSa/s | 234.2 MSa/s | 233.4 MSa/s | 236.7 MSa/s | 235.2 MSa/s | 234.6 MSa/s | 237.0 MSa/s | 238.0 MSa/s | 237.2 MSa/s |
compose::bench_compose::test_bench_writer[raw-ci16] |
— | 531.8 MSa/s | 498.6 MSa/s | 440.6 MSa/s | 470.4 MSa/s | 439.0 MSa/s | 498.7 MSa/s | 466.9 MSa/s | 479.3 MSa/s | 478.6 MSa/s | 466.8 MSa/s | 202.3 MSa/s | 201.6 MSa/s | 194.2 MSa/s | 194.2 MSa/s | 194.3 MSa/s | 195.6 MSa/s | 195.6 MSa/s |
symsync::bench_symsync::test_bench_steps_64k |
— | — | — | — | 172.5 MSa/s | 162.3 MSa/s | 174.1 MSa/s | 176.9 MSa/s | 176.9 MSa/s | 175.4 MSa/s | 176.9 MSa/s | 176.9 MSa/s | 176.9 MSa/s | 176.9 MSa/s | 177.0 MSa/s | 176.9 MSa/s | 177.0 MSa/s | 175.5 MSa/s |
RateConverter::bench_RateConverter::test_bench_resamp_64k |
145.6 MSa/s | 160.7 MSa/s | 166.8 MSa/s | 166.0 MSa/s | 167.3 MSa/s | 154.2 MSa/s | 163.8 MSa/s | 165.8 MSa/s | 167.0 MSa/s | 166.5 MSa/s | 167.7 MSa/s | 167.4 MSa/s | 167.4 MSa/s | 168.6 MSa/s | 168.2 MSa/s | 167.3 MSa/s | 168.6 MSa/s | 167.9 MSa/s |
corr2d::bench_corr2d::test_bench_corr2d_pffft |
— | — | — | — | 150.1 MSa/s | 147.2 MSa/s | 151.9 MSa/s | 157.3 MSa/s | 158.9 MSa/s | 157.6 MSa/s | 159.6 MSa/s | 157.3 MSa/s | 157.8 MSa/s | 157.7 MSa/s | 156.8 MSa/s | 157.6 MSa/s | 158.1 MSa/s | 158.4 MSa/s |
Resampler::bench_Resampler::test_bench_execute_decim_64k |
129.9 MSa/s | 135.8 MSa/s | 132.5 MSa/s | 127.2 MSa/s | 132.7 MSa/s | 132.2 MSa/s | 136.8 MSa/s | 139.8 MSa/s | 139.6 MSa/s | 139.2 MSa/s | 140.0 MSa/s | 140.1 MSa/s | 139.6 MSa/s | 139.4 MSa/s | 140.2 MSa/s | 140.3 MSa/s | 140.6 MSa/s | 140.2 MSa/s |
resample::bench_resample::test_bench_resample_down |
133.1 MSa/s | 135.1 MSa/s | 136.0 MSa/s | 140.1 MSa/s | 130.9 MSa/s | 131.3 MSa/s | 135.9 MSa/s | 136.5 MSa/s | 137.0 MSa/s | 136.5 MSa/s | 137.0 MSa/s | 136.6 MSa/s | 136.4 MSa/s | 137.5 MSa/s | 137.5 MSa/s | 137.4 MSa/s | 136.6 MSa/s | 137.4 MSa/s |
agc::bench_agc::test_bench_steps_64k |
137.6 MSa/s | 136.1 MSa/s | 131.3 MSa/s | 133.9 MSa/s | 132.8 MSa/s | 129.6 MSa/s | 133.7 MSa/s | 135.2 MSa/s | 134.5 MSa/s | 135.1 MSa/s | 135.1 MSa/s | 135.1 MSa/s | 135.1 MSa/s | 134.5 MSa/s | 135.4 MSa/s | 135.1 MSa/s | 135.5 MSa/s | 135.4 MSa/s |
burst_despreader::bench_burst_despreader::test_bench_steps_bursts |
— | — | — | — | — | — | — | 137.4 MSa/s | 134.3 MSa/s | 134.4 MSa/s | 133.8 MSa/s | 134.4 MSa/s | 134.4 MSa/s | 133.9 MSa/s | 134.2 MSa/s | 133.9 MSa/s | 134.4 MSa/s | 134.3 MSa/s |
burst_despreader::bench_burst_despreader::test_bench_steps_idle |
— | — | — | — | — | — | — | 131.2 MSa/s | 131.7 MSa/s | 131.8 MSa/s | 131.6 MSa/s | 131.4 MSa/s | 131.6 MSa/s | 131.5 MSa/s | 131.5 MSa/s | 131.5 MSa/s | 131.6 MSa/s | 131.5 MSa/s |
carrier_nda::bench_carrier_nda::test_bench_steps_64k |
— | — | — | — | 93.7 MSa/s | 86.9 MSa/s | 117.9 MSa/s | 118.3 MSa/s | 118.4 MSa/s | 118.2 MSa/s | 118.4 MSa/s | 118.3 MSa/s | 118.3 MSa/s | 118.3 MSa/s | 118.3 MSa/s | 118.2 MSa/s | 118.3 MSa/s | 118.3 MSa/s |
fir::bench_fir::test_bench_execute[20480] |
80.6 MSa/s | 85.0 MSa/s | 86.5 MSa/s | 83.4 MSa/s | 82.9 MSa/s | 83.0 MSa/s | 85.4 MSa/s | 88.8 MSa/s | 88.6 MSa/s | 88.7 MSa/s | 88.7 MSa/s | 88.6 MSa/s | 88.6 MSa/s | 88.5 MSa/s | 88.5 MSa/s | 88.4 MSa/s | 89.1 MSa/s | 88.6 MSa/s |
fir::bench_fir::test_bench_execute[409600] |
82.0 MSa/s | 80.8 MSa/s | 88.2 MSa/s | 83.4 MSa/s | 85.7 MSa/s | 85.6 MSa/s | 87.2 MSa/s | 87.9 MSa/s | 88.1 MSa/s | 88.3 MSa/s | 88.2 MSa/s | 88.4 MSa/s | 88.1 MSa/s | 88.0 MSa/s | 88.1 MSa/s | 88.0 MSa/s | 88.4 MSa/s | 88.2 MSa/s |
fir::bench_fir::test_bench_execute[1024] |
75.6 MSa/s | 82.6 MSa/s | 85.9 MSa/s | 82.1 MSa/s | 74.1 MSa/s | 77.2 MSa/s | 85.2 MSa/s | 88.0 MSa/s | 87.7 MSa/s | 87.6 MSa/s | 87.4 MSa/s | 87.6 MSa/s | 87.6 MSa/s | 87.6 MSa/s | 87.4 MSa/s | 87.9 MSa/s | 88.3 MSa/s | 87.6 MSa/s |
fir::bench_fir::test_bench_execute[819200] |
71.7 MSa/s | 73.3 MSa/s | 76.6 MSa/s | 81.7 MSa/s | 79.2 MSa/s | 74.0 MSa/s | 83.0 MSa/s | 84.4 MSa/s | 85.9 MSa/s | 87.2 MSa/s | 86.2 MSa/s | 85.6 MSa/s | 85.9 MSa/s | 85.5 MSa/s | 87.0 MSa/s | 86.9 MSa/s | 87.5 MSa/s | 87.5 MSa/s |
resample::bench_resample::test_bench_resample_up |
74.5 MSa/s | 79.6 MSa/s | 81.7 MSa/s | 80.8 MSa/s | 75.3 MSa/s | 77.9 MSa/s | 78.5 MSa/s | 80.2 MSa/s | 80.3 MSa/s | 80.3 MSa/s | 80.2 MSa/s | 80.2 MSa/s | 80.2 MSa/s | 80.2 MSa/s | 80.3 MSa/s | 80.3 MSa/s | 80.3 MSa/s | 80.3 MSa/s |
burst_demod::bench_burst_demod::test_bench_demod_burst |
— | — | — | — | — | — | — | 76.5 MSa/s | 76.5 MSa/s | 76.5 MSa/s | 72.3 MSa/s | 72.3 MSa/s | 72.2 MSa/s | 72.4 MSa/s | 72.8 MSa/s | 72.4 MSa/s | 72.6 MSa/s | 72.4 MSa/s |
ratesync::bench_ratesync::test_bench_steps_gardner |
— | — | — | — | — | — | — | 69.0 MSa/s | 68.7 MSa/s | 68.7 MSa/s | 68.7 MSa/s | 68.8 MSa/s | 68.7 MSa/s | 68.4 MSa/s | 68.9 MSa/s | 68.6 MSa/s | 68.8 MSa/s | 68.9 MSa/s |
burst_demod::bench_burst_demod::test_bench_demod_idle |
— | — | — | — | — | — | — | 68.1 MSa/s | 68.0 MSa/s | 68.0 MSa/s | 64.9 MSa/s | 64.8 MSa/s | 64.9 MSa/s | 65.0 MSa/s | 65.0 MSa/s | 64.9 MSa/s | 65.2 MSa/s | 65.1 MSa/s |
ratesync::bench_ratesync::test_bench_steps_dttl |
— | — | — | — | — | — | — | 63.8 MSa/s | 64.1 MSa/s | 63.3 MSa/s | 63.7 MSa/s | 63.9 MSa/s | 63.8 MSa/s | 63.8 MSa/s | 64.0 MSa/s | 63.5 MSa/s | 64.0 MSa/s | 64.0 MSa/s |
widedoppler::bench_widedoppler::test_bench_column_tile[gps_16x2046-16-2046-79] |
— | — | — | — | 59.1 MSa/s | 54.4 MSa/s | 59.6 MSa/s | 60.6 MSa/s | 60.4 MSa/s | 60.4 MSa/s | 60.5 MSa/s | 60.5 MSa/s | 60.5 MSa/s | 60.8 MSa/s | 60.5 MSa/s | 60.8 MSa/s | 60.6 MSa/s | 60.7 MSa/s |
corr2d::bench_corr2d::test_bench_corr2d_fallback |
— | — | — | — | 53.4 MSa/s | 53.7 MSa/s | 57.2 MSa/s | 59.0 MSa/s | 59.2 MSa/s | 58.9 MSa/s | 58.5 MSa/s | 59.5 MSa/s | 59.7 MSa/s | 59.4 MSa/s | 59.2 MSa/s | 59.5 MSa/s | 59.4 MSa/s | 59.8 MSa/s |
burst_acq::bench_burst_acq::test_bench_push_idle |
— | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 58.5 MSa/s | 57.2 MSa/s |
burst_acq::bench_burst_acq::test_bench_push_bursts |
— | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 58.4 MSa/s | 57.2 MSa/s |
burst_capture::bench_burst_capture::test_bench_push_idle |
— | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 55.6 MSa/s | 54.8 MSa/s |
dsss_burst_receiver::bench_dsss_burst_receiver::test_bench_push_idle |
— | — | — | — | — | — | — | 53.4 MSa/s | 52.1 MSa/s | 45.5 MSa/s | 53.4 MSa/s | 53.6 MSa/s | 52.7 MSa/s | 52.3 MSa/s | 52.1 MSa/s | 52.7 MSa/s | 56.4 MSa/s | 54.7 MSa/s |
burst_capture::bench_burst_capture::test_bench_push_bursts_backed |
— | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 15.5 MSa/s | 47.0 MSa/s |
burst_capture::bench_burst_capture::test_bench_push_bursts |
— | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 15.4 MSa/s | 46.4 MSa/s |
dll::bench_dll::test_bench_steps_64k |
— | — | — | — | 43.2 MSa/s | 42.1 MSa/s | 45.6 MSa/s | 46.0 MSa/s | 46.1 MSa/s | 46.0 MSa/s | 45.9 MSa/s | 45.9 MSa/s | 45.4 MSa/s | 45.4 MSa/s | 45.4 MSa/s | 45.4 MSa/s | 45.4 MSa/s | 45.4 MSa/s |
despreader::bench_despreader::test_bench_steps_64k |
— | — | — | — | 38.2 MSa/s | 38.8 MSa/s | 39.8 MSa/s | 41.0 MSa/s | 41.0 MSa/s | 41.0 MSa/s | 41.0 MSa/s | 41.0 MSa/s | 41.0 MSa/s | 41.0 MSa/s | 41.0 MSa/s | 41.0 MSa/s | 41.0 MSa/s | 41.0 MSa/s |
delay::bench_delay::test_bench_push |
39.7 MSa/s | 39.0 MSa/s | 38.8 MSa/s | 40.7 MSa/s | 33.8 MSa/s | 38.0 MSa/s | 38.6 MSa/s | 40.3 MSa/s | 40.1 MSa/s | 40.6 MSa/s | 40.5 MSa/s | 23.8 MSa/s | 39.4 MSa/s | 39.9 MSa/s | 40.8 MSa/s | 40.8 MSa/s | 40.0 MSa/s | 40.3 MSa/s |
widedoppler::bench_widedoppler::test_bench_column_tile[burst_5x4094-5-4094-49] |
— | — | — | — | 29.7 MSa/s | 31.7 MSa/s | 34.4 MSa/s | 34.8 MSa/s | 35.0 MSa/s | 35.1 MSa/s | 35.2 MSa/s | 35.0 MSa/s | 35.0 MSa/s | 35.2 MSa/s | 35.3 MSa/s | 35.2 MSa/s | 35.4 MSa/s | 35.4 MSa/s |
acq::bench_acq::test_bench_tile_test_grid |
— | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 31.9 MSa/s | 32.3 MSa/s |
dsss_burst_receiver::bench_dsss_burst_receiver::test_bench_push_bursts |
— | — | — | — | — | — | — | 35.4 MSa/s | 35.4 MSa/s | 32.8 MSa/s | 33.1 MSa/s | 33.3 MSa/s | 32.8 MSa/s | 32.7 MSa/s | 32.6 MSa/s | 32.8 MSa/s | 13.4 MSa/s | 31.5 MSa/s |
acq::bench_acq::test_bench_tile_worked |
— | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 27.2 MSa/s | 27.1 MSa/s |
ppe::bench_ppe::test_bench_estimate_idle |
— | — | — | — | — | — | — | 14.3 MSa/s | 14.4 MSa/s | 14.4 MSa/s | 14.4 MSa/s | 14.3 MSa/s | 14.2 MSa/s | 14.4 MSa/s | 14.4 MSa/s | 14.4 MSa/s | 14.4 MSa/s | 14.4 MSa/s |
ppe::bench_ppe::test_bench_estimate_bursts |
— | — | — | — | — | — | — | 14.5 MSa/s | 14.4 MSa/s | 14.4 MSa/s | 14.4 MSa/s | 14.4 MSa/s | 14.3 MSa/s | 14.5 MSa/s | 14.4 MSa/s | 14.4 MSa/s | 14.5 MSa/s | 14.2 MSa/s |
compose::bench_compose::test_bench_writer[csv-cf32] |
— | 6.1 MSa/s | 5.8 MSa/s | 5.9 MSa/s | 6.0 MSa/s | 5.5 MSa/s | 5.8 MSa/s | 6.0 MSa/s | 6.1 MSa/s | 6.1 MSa/s | 6.1 MSa/s | 6.1 MSa/s | 6.1 MSa/s | 6.1 MSa/s | 6.2 MSa/s | 6.2 MSa/s | 6.2 MSa/s | 6.2 MSa/s |
widedoppler::bench_widedoppler::test_bench_2d_roll[gps_16x2046-16-2046-79] |
— | — | — | — | 1.7 MSa/s | 1.7 MSa/s | 1.8 MSa/s | 1.8 MSa/s | 1.8 MSa/s | 1.8 MSa/s | 1.8 MSa/s | 1.8 MSa/s | 1.8 MSa/s | 1.8 MSa/s | 1.8 MSa/s | 1.8 MSa/s | 1.8 MSa/s | 1.8 MSa/s |
widedoppler::bench_widedoppler::test_bench_2d_roll[burst_5x4094-5-4094-49] |
— | — | — | — | 1.7 MSa/s | 1.7 MSa/s | 1.7 MSa/s | 1.8 MSa/s | 1.8 MSa/s | 1.7 MSa/s | 1.8 MSa/s | 1.8 MSa/s | 1.8 MSa/s | 1.8 MSa/s | 1.8 MSa/s | 1.8 MSa/s | 1.8 MSa/s | 1.8 MSa/s |