diff: Derivative Performance
Created by: SellJamHere
Fixes #380 (closed)
The PR removes the concurrent code path in the Derivative
function. To maintain backwards compatibility, the concurrent value in Settings
is unchanged. However, the setting is now a no-op.
benchstat
comparison of the Derivative pre/post PR:
# benchstat old.txt new.txt
name old time/op new time/op delta
DerivativeSerial-8 67.0ns ± 0% 28.3ns ± 0% ~ (p=1.000 n=1+1)
DerivativeConcurrent-8 1.98µs ± 0% 0.03µs ± 0% ~ (p=1.000 n=1+1)
Derivative2ndSerial-8 116ns ± 0% 74ns ± 0% ~ (p=1.000 n=1+1)
Derivative2ndConcurrent-8 2.88µs ± 0% 0.07µs ± 0% ~ (p=1.000 n=1+1)