kfr benchmarks are built without optimization flags, so the type-erased expression tree and virtual dispatch overhead dominates. At -O2 or -O3 the compiler may collapse the expression chain and narrow the gap with scalar implementations substantially. The profiling results reflect abstraction cost at zero optimization, not kfr's peak IIR throughput. This needs to be validated.
kfr benchmarks are built without optimization flags, so the type-erased expression tree and virtual dispatch overhead dominates. At -O2 or -O3 the compiler may collapse the expression chain and narrow the gap with scalar implementations substantially. The profiling results reflect abstraction cost at zero optimization, not kfr's peak IIR throughput. This needs to be validated.