Skip to content

Benchmarks

Representative single-machine numbers for v0.37.3, 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-07-25 00:24:31 UTC, doppler 185d9ffb, cc (GCC) 16.1.1 20260625.

  • CPU: AMD Ryzen AI 9 465 w/ Radeon 880M — 20 threads, governor performance, boost on
  • OS: 7.1.4-1-cachyos, glibc 2.43
  • Libs: Python 3.13.13, NumPy 2.4.5, CMake 4.4.0

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 389.41 GSa/s 455.42 GSa/s +17%
i32_to_f32::bench_i32_to_f32::test_bench_steps_64k 18.80 GSa/s 31.14 GSa/s +66%
i16_to_f32::bench_i16_to_f32::test_bench_steps_64k 17.94 GSa/s 33.61 GSa/s +87%
wfm_synth::bench_wfm_synth::test_bench_steps_64k 16.85 GSa/s 19.37 GSa/s +15%
i8_to_f32::bench_i8_to_f32::test_bench_steps_64k 14.05 GSa/s 27.25 GSa/s +94%
i16u32_to_f32::bench_i16u32_to_f32::test_bench_steps_64k 13.04 GSa/s 26.85 GSa/s +106%
uq15_to_f32::bench_uq15_to_f32::test_bench_steps_64k 12.04 GSa/s 24.28 GSa/s +102%
i16u64_to_f32::bench_i16u64_to_f32::test_bench_steps_64k 8.94 GSa/s 15.47 GSa/s +73%
acc_f32::bench_acc_f32::test_bench_steps[409600] 6.39 GSa/s 23.90 GSa/s +274%
acc_f32::bench_acc_f32::test_bench_steps[819200] 6.07 GSa/s 24.06 GSa/s +296%
acc_f32::bench_acc_f32::test_bench_steps[20480] 5.80 GSa/s 23.04 GSa/s +297%
delay::bench_delay::test_bench_push_ptr_64k 5.59 GSa/s 5.85 GSa/s +5%
acc_q15::bench_acc_q15::test_bench_steps_64k 4.74 GSa/s 8.82 GSa/s +86%
acc_f32::bench_acc_f32::test_bench_steps[1024] 4.69 GSa/s 11.87 GSa/s +153%
buffer::bench_buffer::test_bench_f32_write 4.09 GSa/s 3.81 GSa/s -7%
acc_q8::bench_acc_q8::test_bench_steps_64k 4.06 GSa/s 3.84 GSa/s -5%
lo::bench_lo::test_bench_steps_64k 3.48 GSa/s 2.31 GSa/s -34%
nco::bench_nco::test_bench_steps_u32_64k 3.44 GSa/s 4.11 GSa/s +19%
buffer::bench_buffer::test_bench_f64_write 3.32 GSa/s 3.61 GSa/s +9%
nco::bench_nco::test_bench_steps_u32_ovf_64k 2.82 GSa/s 2.93 GSa/s +4%
acc_cf64::bench_acc_cf64::test_bench_steps[20480] 1.58 GSa/s 2.96 GSa/s +87%
acc_cf64::bench_acc_cf64::test_bench_steps[819200] 1.55 GSa/s 2.83 GSa/s +83%
acc_cf64::bench_acc_cf64::test_bench_steps[409600] 1.50 GSa/s 3.14 GSa/s +110%
acc_cf64::bench_acc_cf64::test_bench_steps[1024] 1.45 GSa/s 2.57 GSa/s +77%
lo::bench_lo::test_bench_steps_ctrl_64k 1.14 GSa/s 847.3 MSa/s -26%
adc::bench_adc::test_bench_steps_64k 1.05 GSa/s 2.39 GSa/s +128%
awgn::bench_awgn::test_bench_generate_64k 695.9 MSa/s 728.1 MSa/s +5%
RateConverter::bench_RateConverter::test_bench_cic_64k 632.0 MSa/s 613.4 MSa/s -3%
fft::bench_fft::test_bench_execute_cf32_8k 587.4 MSa/s 781.8 MSa/s +33%
cic::bench_cic::decimate_R256 570.1 MSa/s 672.6 MSa/s +18%
cic::bench_cic::decimate_R64 564.0 MSa/s 647.3 MSa/s +15%
compose::bench_compose::test_bench_reader[raw-cf32] 530.5 MSa/s 484.9 MSa/s -9%
cic::bench_cic::decimate_R8 530.5 MSa/s 624.0 MSa/s +18%
cic::bench_cic::test_bench_decimate_64k 514.8 MSa/s 575.7 MSa/s +12%
cic::bench_cic::decimate_R32 496.9 MSa/s 619.0 MSa/s +25%
compose::bench_compose::test_bench_reader[blue-cf32] 480.7 MSa/s 516.4 MSa/s +7%
cic::bench_cic::decimate_R4 479.7 MSa/s 546.2 MSa/s +14%
compose::bench_compose::test_bench_writer[blue-cf32] 477.9 MSa/s 452.9 MSa/s -5%
compose::bench_compose::test_bench_reader[raw-ci16] 473.0 MSa/s 507.8 MSa/s +7%
f32_to_i16::bench_f32_to_i16::test_bench_steps_64k 465.2 MSa/s 459.9 MSa/s -1%
farrow::bench_farrow::test_bench_delay_64k 465.0 MSa/s 233.5 MSa/s -50%
compose::bench_compose::test_bench_writer[raw-cf32] 462.8 MSa/s 445.4 MSa/s -4%
f32_to_i16u32::bench_f32_to_i16u32::test_bench_steps_64k 456.4 MSa/s 440.0 MSa/s -4%
compose::bench_compose::test_bench_writer[raw-ci16] 439.0 MSa/s 526.5 MSa/s +20%
f32_to_i16u64::bench_f32_to_i16u64::test_bench_steps_64k 435.8 MSa/s 442.3 MSa/s +1%
fft2d::bench_fft2d::test_bench_execute_cf32 401.7 MSa/s 438.1 MSa/s +9%
f32_to_uq15::bench_f32_to_uq15::test_bench_steps_64k 399.0 MSa/s 422.0 MSa/s +6%
costas::bench_costas::test_bench_steps_64k 384.4 MSa/s 341.8 MSa/s -11%
RateConverter::bench_RateConverter::test_bench_hb_64k 381.2 MSa/s 328.7 MSa/s -14%
HalfbandDecimator::bench_HalfbandDecimator::test_bench_execute_64k 380.7 MSa/s 339.4 MSa/s -11%
RateConverter::bench_RateConverter::test_bench_cic_resamp_64k 355.3 MSa/s 339.1 MSa/s -5%
resample::bench_resample::test_bench_hbdecim 354.3 MSa/s 311.9 MSa/s -12%
hbdecim_q15::bench_hbdecim_q15::test_bench_execute_64k 310.4 MSa/s 341.6 MSa/s +10%
RateConverter::bench_RateConverter::test_bench_hb2_64k 260.0 MSa/s 223.2 MSa/s -14%
corr2d::bench_corr2d::test_bench_corr2d_pffft_dwell8 259.9 MSa/s 297.9 MSa/s +15%
ddcr::bench_ddcr::test_bench_execute_64k 254.9 MSa/s 227.4 MSa/s -11%
ddc::bench_ddc::test_bench_execute_64k 242.1 MSa/s 195.1 MSa/s -19%
fft2d::bench_fft2d::test_bench_execute_cf64 222.2 MSa/s 309.1 MSa/s +39%
fft::bench_fft::test_bench_execute_cf64_8k 220.5 MSa/s 444.4 MSa/s +102%
symsync::bench_symsync::test_bench_steps_64k 162.3 MSa/s 159.6 MSa/s -2%
RateConverter::bench_RateConverter::test_bench_resamp_64k 154.2 MSa/s 162.6 MSa/s +5%
corr2d::bench_corr2d::test_bench_corr2d_pffft 147.2 MSa/s 167.4 MSa/s +14%
Resampler::bench_Resampler::test_bench_execute_decim_64k 132.2 MSa/s 140.2 MSa/s +6%
resample::bench_resample::test_bench_resample_down 131.3 MSa/s 127.3 MSa/s -3%
agc::bench_agc::test_bench_steps_64k 129.6 MSa/s 147.2 MSa/s +14%
carrier_nda::bench_carrier_nda::test_bench_steps_64k 86.9 MSa/s 93.8 MSa/s +8%
fir::bench_fir::test_bench_execute[409600] 85.6 MSa/s 269.1 MSa/s +215%
fir::bench_fir::test_bench_execute[20480] 83.0 MSa/s 257.5 MSa/s +210%
resample::bench_resample::test_bench_resample_up 77.9 MSa/s 98.6 MSa/s +27%
fir::bench_fir::test_bench_execute[1024] 77.2 MSa/s 256.9 MSa/s +233%
fir::bench_fir::test_bench_execute[819200] 74.0 MSa/s 261.4 MSa/s +253%
acq::bench_acq::test_bench_tile_test_grid 68.5 MSa/s 90.2 MSa/s +32%
acq::bench_acq::test_bench_tile_worked 56.5 MSa/s 81.5 MSa/s +44%
widedoppler::bench_widedoppler::test_bench_column_tile[gps_16x2046-16-2046-79] 54.4 MSa/s 76.8 MSa/s +41%
corr2d::bench_corr2d::test_bench_corr2d_fallback 53.7 MSa/s 66.0 MSa/s +23%
dll::bench_dll::test_bench_steps_64k 42.1 MSa/s 47.0 MSa/s +12%
despreader::bench_despreader::test_bench_steps_64k 38.8 MSa/s 42.5 MSa/s +9%
delay::bench_delay::test_bench_push 38.0 MSa/s 36.7 MSa/s -3%
widedoppler::bench_widedoppler::test_bench_column_tile[burst_5x4094-5-4094-49] 31.7 MSa/s 39.6 MSa/s +25%
compose::bench_compose::test_bench_writer[csv-cf32] 5.5 MSa/s 5.7 MSa/s +3%
widedoppler::bench_widedoppler::test_bench_2d_roll[gps_16x2046-16-2046-79] 1.7 MSa/s 2.3 MSa/s +37%
widedoppler::bench_widedoppler::test_bench_2d_roll[burst_5x4094-5-4094-49] 1.7 MSa/s 2.3 MSa/s +37%

Latency

benchmark portable time/call native time/call from src
wfm_synth::bench_wfm_synth::test_bench_step 24.26 ns 26.32 ns -8%
i16u64_to_f32::bench_i16u64_to_f32::test_bench_step 24.52 ns 25.06 ns -2%
i16u32_to_f32::bench_i16u32_to_f32::test_bench_step 26.26 ns 27.00 ns -3%
uq15_to_f32::bench_uq15_to_f32::test_bench_step 26.35 ns 28.93 ns -9%
loop_filter::bench_loop_filter::test_bench_step 26.54 ns 30.18 ns -12%
lockdet::bench_lockdet::test_bench_step 26.74 ns 26.11 ns +2%
acc_q8::bench_acc_q8::test_bench_step 26.98 ns 26.62 ns +1%
i16_to_f32::bench_i16_to_f32::test_bench_step 27.10 ns 26.69 ns +2%
i8_to_f32::bench_i8_to_f32::test_bench_step 27.35 ns 27.01 ns +1%
acc_q15::bench_acc_q15::test_bench_step 27.98 ns 28.85 ns -3%
adc::bench_adc::test_bench_step 28.49 ns 30.45 ns -6%
i32_to_f32::bench_i32_to_f32::test_bench_step 28.88 ns 26.66 ns +8%
detection::bench_detection::test_bench_det_threshold_power 29.68 ns 30.89 ns -4%
boxcar::bench_boxcar::test_bench_step 30.81 ns 32.14 ns -4%
timing::bench_timing::test_bench_stamp 32.05 ns 34.38 ns -7%
f32_to_i16u64::bench_f32_to_i16u64::test_bench_step 32.07 ns 35.25 ns -9%
f32_to_i16::bench_f32_to_i16::test_bench_step 32.20 ns 31.82 ns +1%
f32_to_uq15::bench_f32_to_uq15::test_bench_step 32.70 ns 33.34 ns -2%
f32_to_i16u32::bench_f32_to_i16u32::test_bench_step 33.16 ns 31.44 ns +5%
detection::bench_detection::test_bench_det_threshold 34.32 ns 33.80 ns +2%
detection::bench_detection::test_bench_marcum_q_large_a 37.08 ns 35.73 ns +4%
agc::bench_agc::test_bench_step 53.34 ns 45.55 ns +17%
timing::bench_timing::test_bench_pace_nowait 90.20 ns 89.54 ns +1%
detection::bench_detection::test_bench_det_pd_m1 127.24 ns 124.46 ns +2%
detection::bench_detection::test_bench_marcum_q_m4 196.98 ns 186.39 ns +6%
detection::bench_detection::test_bench_marcum_q_m1 218.95 ns 212.98 ns +3%
detection::bench_detection::test_bench_det_pd_m4 224.61 ns 226.94 ns -1%
detection::bench_detection::test_bench_det_pd_power_m4 225.11 ns 228.43 ns -1%
detection::bench_detection::test_bench_det_pd_m16 474.36 ns 468.44 ns +1%
detection::bench_detection::test_bench_det_dwell 27.93 µs 28.19 µs -1%
detection::bench_detection::test_bench_det_dwell_power 27.96 µs 27.42 µs +2%
lockdet::bench_lockdet::test_bench_steps_64k 28.42 µs 33.52 µs -15%
detector::bench_detector::test_bench_push_64k 30.51 µs 26.41 µs +16%
detection::bench_detection::test_bench_det_snr_m4 33.80 µs 33.77 µs +0%
detection::bench_detection::test_bench_det_snr_m16 33.93 µs 35.33 µs -4%
detection::bench_detection::test_bench_det_snr_power_m4 34.29 µs 34.56 µs -1%
detector2d::bench_detector2d::test_bench_push_64k 59.78 µs 66.91 µs -11%
wfm_reader::bench_wfm_reader::test_read_64k 125.87 µs 130.63 µs -4%
wfm_writer::bench_wfm_writer::test_write_64k[ci16] 141.52 µs 130.44 µs +8%
wfm_writer::bench_wfm_writer::test_write_64k[cf32] 158.32 µs 144.51 µs +10%
loop_filter::bench_loop_filter::test_bench_steps_64k 167.36 µs 179.39 µs -7%
boxcar::bench_boxcar::test_bench_steps_64k 217.31 µs 225.48 µs -4%

C (jm_bench)

Throughput

benchmark portable throughput native throughput from src
i8_to_f32::steps 14.33 GSa/s 18.42 GSa/s +29%
i32_to_f32::steps 12.61 GSa/s 19.74 GSa/s +57%
i16_to_f32::steps 12.07 GSa/s 33.80 GSa/s +180%
uq15_to_f32::steps 11.70 GSa/s 32.34 GSa/s +176%
i16u32_to_f32::steps 9.33 GSa/s 17.68 GSa/s +90%
acc_f32::steps 6.70 GSa/s 26.59 GSa/s +297%
i16u64_to_f32::steps 6.68 GSa/s 12.16 GSa/s +82%
acc_q15::step 5.03 GSa/s 6.40 GSa/s +27%
acc_q15::steps 5.02 GSa/s 6.41 GSa/s +28%
i8_to_f32::step 4.33 GSa/s 3.29 GSa/s -24%
i16u32_to_f32::step 4.22 GSa/s 3.20 GSa/s -24%
acc_q8::steps 4.17 GSa/s 3.14 GSa/s -25%
i16_to_f32::step 4.03 GSa/s 3.40 GSa/s -16%
acc_q8::step 3.73 GSa/s 2.82 GSa/s -24%
i32_to_f32::step 3.30 GSa/s 3.30 GSa/s +0%
i16u64_to_f32::step 3.29 GSa/s 3.28 GSa/s -0%
uq15_to_f32::step 2.96 GSa/s 4.74 GSa/s +60%
lockdet::step 2.56 GSa/s 2.45 GSa/s -4%
lo::steps 2.33 GSa/s 2.03 GSa/s -13%
lockdet::steps 1.92 GSa/s 2.17 GSa/s +13%
lo::step 1.70 GSa/s 2.19 GSa/s +29%
acc_cf64::steps 1.67 GSa/s 2.68 GSa/s +61%
acc_cf64::step 1.67 GSa/s 1.17 GSa/s -30%
acc_f32::step 1.61 GSa/s 1.63 GSa/s +1%
acc_cf64::get 1.26 GSa/s 1.26 GSa/s -0%
acc_f32::madd2d 1.26 GSa/s 1.26 GSa/s -0%
acc_cf64::dump 1.26 GSa/s 1.26 GSa/s +0%
acc_f32::dump 1.26 GSa/s 1.26 GSa/s +0%
acc_cf64::madd2d 1.26 GSa/s 1.26 GSa/s +0%
acc_cf64::madd 1.26 GSa/s 1.26 GSa/s +0%
acc_f32::get 1.26 GSa/s 1.26 GSa/s +0%
acc_f32::madd 1.26 GSa/s 1.26 GSa/s +0%
acc_f32::add2d 1.25 GSa/s 1.26 GSa/s +1%
acc_cf64::add2d 1.25 GSa/s 1.26 GSa/s +1%
adc::step 1.22 GSa/s 1.14 GSa/s -7%
loop_filter::step 1.13 GSa/s 828.1 MSa/s -27%
adc::steps 1.11 GSa/s 2.60 GSa/s +134%
boxcar::step 967.5 MSa/s 1.20 GSa/s +24%
cic::decimate 732.0 MSa/s 650.1 MSa/s -11%
wfm_writer::raw ci8 (quantise) 694.0 MSa/s 696.5 MSa/s +0%
wfm_writer::raw ci16 (quantise) 586.9 MSa/s 692.4 MSa/s +18%
delay::write 559.2 MSa/s 1.01 GSa/s +80%
wfm_reader::raw cf32 (reinterpret) 514.1 MSa/s 421.9 MSa/s -18%
f32_to_i16::steps 502.2 MSa/s 457.3 MSa/s -9%
f32_to_i16u32::steps 501.8 MSa/s 456.7 MSa/s -9%
RateConverter::CIC(0.125) 501.6 MSa/s 473.4 MSa/s -6%
delay::push 498.7 MSa/s 961.1 MSa/s +93%
wfm_reader::raw ci16 (rescale) 481.4 MSa/s 415.0 MSa/s -14%
farrow::delay_cubic 473.8 MSa/s 255.9 MSa/s -46%
wfm_reader::blue cf32 (parse+raw) 458.8 MSa/s 437.4 MSa/s -5%
f32_to_uq15::steps 457.3 MSa/s 456.9 MSa/s -0%
f32_to_i16u64::steps 456.1 MSa/s 456.1 MSa/s +0%
f32_to_i16u32::step 447.1 MSa/s 380.9 MSa/s -15%
f32_to_i16u64::step 419.1 MSa/s 450.0 MSa/s +7%
loop_filter::steps 418.0 MSa/s 385.8 MSa/s -8%
f32_to_i16::step 411.1 MSa/s 448.4 MSa/s +9%
f32_to_uq15::step 401.9 MSa/s 454.0 MSa/s +13%
RateConverter::HB(0.5) 392.5 MSa/s 339.2 MSa/s -14%
farrow::delay_parabolic 379.3 MSa/s 265.8 MSa/s -30%
farrow::delay_linear 377.4 MSa/s 261.8 MSa/s -31%
costas::steps 372.4 MSa/s 326.0 MSa/s -12%
boxcar::steps 327.5 MSa/s 299.9 MSa/s -8%
RateConverter::CIC+Rs(0.1) 318.8 MSa/s 295.0 MSa/s -7%
wfm_writer::blue cf32 301.8 MSa/s 290.8 MSa/s -4%
RateConverter::HB2(0.25) 275.2 MSa/s 192.1 MSa/s -30%
wfm_writer::raw cf32 (memcpy) 241.8 MSa/s 281.1 MSa/s +16%
lo::cexpf_baseline 238.8 MSa/s 269.3 MSa/s +13%
Resampler::reset 208.6 MSa/s 203.0 MSa/s -3%
RateConverter::Resamp(1/3) 165.7 MSa/s 159.7 MSa/s -4%
symsync::steps 157.9 MSa/s 171.7 MSa/s +9%
agc::steps 134.7 MSa/s 147.3 MSa/s +9%
dsss_receiver::search 97.6 MSa/s 56.4 MSa/s -42%
carrier_nda::steps 95.2 MSa/s 103.0 MSa/s +8%
carrier_nda::step 84.0 MSa/s 100.9 MSa/s +20%
RateConverter::Interp(2.0) 82.7 MSa/s 101.9 MSa/s +23%
corr2d::single_row_fast_path 70.9 MSa/s 81.9 MSa/s +16%
corr2d::multi_row_general_path 60.5 MSa/s 76.9 MSa/s +27%
acq::native_nc90 54.5 MSa/s 38.9 MSa/s -29%
acq::native_nc176 49.8 MSa/s 44.1 MSa/s -11%
acq::native_nc256 46.1 MSa/s 41.1 MSa/s -11%
dll::steps 43.4 MSa/s 50.4 MSa/s +16%
despreader::steps 37.7 MSa/s 45.0 MSa/s +19%
dsss_receiver::track 36.0 MSa/s 38.0 MSa/s +5%
agc::step 32.4 MSa/s 42.8 MSa/s +32%
ppe::doppler 16.2 MSa/s 17.6 MSa/s +8%
wfm_reader::csv cf32 (text parse) 6.0 MSa/s 6.4 MSa/s +6%
wfm_writer::csv cf32 (text) 5.8 MSa/s 5.6 MSa/s -3%
acq::wideband_nc112 3.2 MSa/s 4.4 MSa/s +38%
acq::wideband_nc256 3.2 MSa/s 4.1 MSa/s +31%
acq::wideband_nc215 3.2 MSa/s 4.7 MSa/s +49%
ppe::chirp 0.5 MSa/s 0.5 MSa/s -3%

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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
buffer::bench_buffer::test_bench_f32_write 3.92 GSa/s 4.24 GSa/s 4.03 GSa/s 4.36 GSa/s 4.04 GSa/s 4.09 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
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
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
buffer::bench_buffer::test_bench_f64_write 2.99 GSa/s 3.55 GSa/s 3.12 GSa/s 3.32 GSa/s 3.14 GSa/s 3.32 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
farrow::bench_farrow::test_bench_delay_64k 426.3 MSa/s 465.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
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
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
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
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
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
costas::bench_costas::test_bench_steps_64k 345.7 MSa/s 384.4 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
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
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
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
hbdecim_q15::bench_hbdecim_q15::test_bench_execute_64k 304.0 MSa/s 310.4 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
corr2d::bench_corr2d::test_bench_corr2d_pffft_dwell8 247.7 MSa/s 259.9 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
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
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
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
symsync::bench_symsync::test_bench_steps_64k 172.5 MSa/s 162.3 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
corr2d::bench_corr2d::test_bench_corr2d_pffft 150.1 MSa/s 147.2 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
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
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
carrier_nda::bench_carrier_nda::test_bench_steps_64k 93.7 MSa/s 86.9 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
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
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
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
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
acq::bench_acq::test_bench_tile_test_grid 70.9 MSa/s 68.5 MSa/s
acq::bench_acq::test_bench_tile_worked 61.7 MSa/s 56.5 MSa/s
widedoppler::bench_widedoppler::test_bench_column_tile[gps_16x2046-16-2046-79] 59.1 MSa/s 54.4 MSa/s
corr2d::bench_corr2d::test_bench_corr2d_fallback 53.4 MSa/s 53.7 MSa/s
dll::bench_dll::test_bench_steps_64k 43.2 MSa/s 42.1 MSa/s
despreader::bench_despreader::test_bench_steps_64k 38.2 MSa/s 38.8 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
widedoppler::bench_widedoppler::test_bench_column_tile[burst_5x4094-5-4094-49] 29.7 MSa/s 31.7 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
widedoppler::bench_widedoppler::test_bench_2d_roll[gps_16x2046-16-2046-79] 1.7 MSa/s 1.7 MSa/s
widedoppler::bench_widedoppler::test_bench_2d_roll[burst_5x4094-5-4094-49] 1.7 MSa/s 1.7 MSa/s

C (jm_bench)

benchmark v0.10.1 v0.12.0 v0.16.1 v0.21.0 v0.35.0 v0.37.3
i8_to_f32::steps 7.25 GSa/s 14.21 GSa/s 9.46 GSa/s 14.38 GSa/s 9.97 GSa/s 14.33 GSa/s
i32_to_f32::steps 8.95 GSa/s 12.42 GSa/s 18.25 GSa/s 18.97 GSa/s 13.33 GSa/s 12.61 GSa/s
i16_to_f32::steps 12.71 GSa/s 17.68 GSa/s 17.60 GSa/s 18.11 GSa/s 12.47 GSa/s 12.07 GSa/s
uq15_to_f32::steps 12.56 GSa/s 8.47 GSa/s 12.99 GSa/s 9.98 GSa/s 9.07 GSa/s 11.70 GSa/s
i16u32_to_f32::steps 9.29 GSa/s 11.39 GSa/s 8.75 GSa/s 11.12 GSa/s 9.25 GSa/s 9.33 GSa/s
acc_f32::steps 6.70 GSa/s 6.67 GSa/s 6.70 GSa/s 5.80 GSa/s 6.70 GSa/s 6.70 GSa/s
i16u64_to_f32::steps 6.91 GSa/s 6.73 GSa/s 6.64 GSa/s 6.80 GSa/s 4.75 GSa/s 6.68 GSa/s
acc_q15::step 3.30 GSa/s 3.31 GSa/s 3.31 GSa/s 3.30 GSa/s 3.31 GSa/s 5.03 GSa/s
acc_q15::steps 3.31 GSa/s 3.30 GSa/s 3.44 GSa/s 5.03 GSa/s 5.03 GSa/s 5.02 GSa/s
i8_to_f32::step 2.45 GSa/s 3.78 GSa/s 3.26 GSa/s 4.50 GSa/s 2.50 GSa/s 4.33 GSa/s
i16u32_to_f32::step 3.06 GSa/s 3.21 GSa/s 2.91 GSa/s 3.22 GSa/s 3.00 GSa/s 4.22 GSa/s
acc_q8::steps 3.12 GSa/s 2.82 GSa/s 4.08 GSa/s 4.28 GSa/s 3.37 GSa/s 4.17 GSa/s
i16_to_f32::step 3.15 GSa/s 3.22 GSa/s 3.49 GSa/s 4.50 GSa/s 2.50 GSa/s 4.03 GSa/s
acc_q8::step 2.81 GSa/s 2.80 GSa/s 2.80 GSa/s 2.82 GSa/s 2.80 GSa/s 3.73 GSa/s
i32_to_f32::step 2.36 GSa/s 3.28 GSa/s 3.62 GSa/s 4.38 GSa/s 3.02 GSa/s 3.30 GSa/s
i16u64_to_f32::step 2.38 GSa/s 3.27 GSa/s 3.19 GSa/s 3.30 GSa/s 2.52 GSa/s 3.29 GSa/s
uq15_to_f32::step 2.71 GSa/s 2.56 GSa/s 2.92 GSa/s 2.76 GSa/s 2.49 GSa/s 2.96 GSa/s
lockdet::step 2.06 GSa/s 2.56 GSa/s
lo::steps 1.81 GSa/s 2.33 GSa/s
lockdet::steps 1.15 GSa/s 1.92 GSa/s
lo::step 1.73 GSa/s 1.70 GSa/s
acc_cf64::steps 1.57 GSa/s 1.54 GSa/s 1.67 GSa/s 1.56 GSa/s 1.68 GSa/s 1.67 GSa/s
acc_cf64::step 1.38 GSa/s 1.13 GSa/s 1.26 GSa/s 1.37 GSa/s 1.38 GSa/s 1.67 GSa/s
acc_f32::step 1.14 GSa/s 1.14 GSa/s 1.18 GSa/s 1.14 GSa/s 1.22 GSa/s 1.61 GSa/s
acc_cf64::get 1.26 GSa/s 1.26 GSa/s 1.05 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s
acc_f32::madd2d 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s
acc_cf64::dump 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s
acc_f32::dump 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s
acc_cf64::madd2d 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s
acc_cf64::madd 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s
acc_f32::get 1.23 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s
acc_f32::madd 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s 1.26 GSa/s
acc_f32::add2d 1.25 GSa/s 1.25 GSa/s 1.25 GSa/s 1.25 GSa/s 1.25 GSa/s 1.25 GSa/s
acc_cf64::add2d 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::step 801.2 MSa/s 875.4 MSa/s 1.11 GSa/s 893.4 MSa/s 1.02 GSa/s 1.22 GSa/s
loop_filter::step 944.9 MSa/s 1.13 GSa/s
adc::steps 1.06 GSa/s 1.11 GSa/s 1.11 GSa/s 1.04 GSa/s 827.8 MSa/s 1.11 GSa/s
boxcar::step 1.09 GSa/s 967.5 MSa/s
cic::decimate 686.4 MSa/s 591.0 MSa/s 581.7 MSa/s 655.8 MSa/s 633.5 MSa/s 732.0 MSa/s
wfm_writer::raw ci8 (quantise) 694.0 MSa/s
wfm_writer::raw ci16 (quantise) 586.9 MSa/s
delay::write 392.2 MSa/s 559.3 MSa/s 558.8 MSa/s 559.5 MSa/s 555.3 MSa/s 559.2 MSa/s
wfm_reader::raw cf32 (reinterpret) 514.1 MSa/s
f32_to_i16::steps 320.2 MSa/s 457.4 MSa/s 457.4 MSa/s 457.2 MSa/s 375.2 MSa/s 502.2 MSa/s
f32_to_i16u32::steps 320.1 MSa/s 456.3 MSa/s 379.8 MSa/s 457.2 MSa/s 502.6 MSa/s 501.8 MSa/s
RateConverter::CIC(0.125) 505.3 MSa/s 505.4 MSa/s 505.7 MSa/s 505.2 MSa/s 504.8 MSa/s 501.6 MSa/s
delay::push 354.3 MSa/s 444.7 MSa/s 461.4 MSa/s 502.9 MSa/s 429.3 MSa/s 498.7 MSa/s
wfm_reader::raw ci16 (rescale) 481.4 MSa/s
farrow::delay_cubic 408.4 MSa/s 473.8 MSa/s
wfm_reader::blue cf32 (parse+raw) 458.8 MSa/s
f32_to_uq15::steps 365.4 MSa/s 456.4 MSa/s 453.3 MSa/s 457.5 MSa/s 457.6 MSa/s 457.3 MSa/s
f32_to_i16u64::steps 319.7 MSa/s 375.8 MSa/s 456.5 MSa/s 443.8 MSa/s 453.8 MSa/s 456.1 MSa/s
f32_to_i16u32::step 288.9 MSa/s 380.3 MSa/s 397.8 MSa/s 432.3 MSa/s 331.8 MSa/s 447.1 MSa/s
f32_to_i16u64::step 285.9 MSa/s 374.3 MSa/s 380.7 MSa/s 389.2 MSa/s 443.6 MSa/s 419.1 MSa/s
loop_filter::steps 274.7 MSa/s 418.0 MSa/s
f32_to_i16::step 300.0 MSa/s 410.0 MSa/s 419.3 MSa/s 422.4 MSa/s 397.7 MSa/s 411.1 MSa/s
f32_to_uq15::step 301.3 MSa/s 403.6 MSa/s 379.3 MSa/s 391.3 MSa/s 308.5 MSa/s 401.9 MSa/s
RateConverter::HB(0.5) 381.8 MSa/s 321.7 MSa/s 290.2 MSa/s 409.9 MSa/s 359.9 MSa/s 392.5 MSa/s
farrow::delay_parabolic 329.2 MSa/s 379.3 MSa/s
farrow::delay_linear 335.3 MSa/s 377.4 MSa/s
costas::steps 383.2 MSa/s 372.4 MSa/s
boxcar::steps 334.7 MSa/s 327.5 MSa/s
RateConverter::CIC+Rs(0.1) 320.6 MSa/s 321.0 MSa/s 320.8 MSa/s 320.7 MSa/s 320.2 MSa/s 318.8 MSa/s
wfm_writer::blue cf32 301.8 MSa/s
RateConverter::HB2(0.25) 269.2 MSa/s 272.3 MSa/s 275.9 MSa/s 271.9 MSa/s 258.6 MSa/s 275.2 MSa/s
wfm_writer::raw cf32 (memcpy) 241.8 MSa/s
lo::cexpf_baseline 183.5 MSa/s 238.8 MSa/s
Resampler::reset 202.2 MSa/s 229.3 MSa/s 220.4 MSa/s 240.6 MSa/s 224.7 MSa/s 208.6 MSa/s
RateConverter::Resamp(1/3) 167.9 MSa/s 165.2 MSa/s 167.9 MSa/s 168.1 MSa/s 167.3 MSa/s 165.7 MSa/s
symsync::steps 121.2 MSa/s 157.9 MSa/s
agc::steps 123.2 MSa/s 139.7 MSa/s 139.1 MSa/s 139.2 MSa/s 134.5 MSa/s 134.7 MSa/s
dsss_receiver::search 83.1 MSa/s 97.6 MSa/s
carrier_nda::steps 95.2 MSa/s 95.2 MSa/s
carrier_nda::step 77.0 MSa/s 84.0 MSa/s
RateConverter::Interp(2.0) 82.6 MSa/s 82.7 MSa/s 81.5 MSa/s 77.7 MSa/s 82.8 MSa/s 82.7 MSa/s
corr2d::single_row_fast_path 61.7 MSa/s 70.9 MSa/s
corr2d::multi_row_general_path 60.7 MSa/s 60.5 MSa/s
acq::native_nc90 48.5 MSa/s 54.5 MSa/s
acq::native_nc176 53.7 MSa/s 49.8 MSa/s
acq::native_nc256 53.0 MSa/s 46.1 MSa/s
dll::steps 39.9 MSa/s 43.4 MSa/s
despreader::steps 35.9 MSa/s 37.7 MSa/s
dsss_receiver::track 36.0 MSa/s 36.0 MSa/s
agc::step 36.0 MSa/s 34.8 MSa/s 35.2 MSa/s 36.1 MSa/s 34.3 MSa/s 32.4 MSa/s
ppe::doppler 12.8 MSa/s 16.2 MSa/s
wfm_reader::csv cf32 (text parse) 6.0 MSa/s
wfm_writer::csv cf32 (text) 5.8 MSa/s
acq::wideband_nc112 3.4 MSa/s 3.2 MSa/s
acq::wideband_nc256 3.1 MSa/s 3.2 MSa/s
acq::wideband_nc215 3.4 MSa/s 3.2 MSa/s
ppe::chirp 0.4 MSa/s 0.5 MSa/s