v5.0
Fix one bug in lnm
and one bug in zordoz
.
lnm
The typed lnm
code performs an extra cast to satisfy the type checker, BUT the code doing the cast had a use-before-definition bug. That bug is fixed, and now the typed & untyped code compute the same plots.
Pull request, with more details on the issue:
https://github.com/bennn/gtp-benchmarks/pull/19
This change improves performance a little. I guess plot
throwing & handling and exception is more expensive than computing the next point to draw.
zordoz
The typed zordoz
contained an unused call to format
. This call is gone now, so (hopefully) the typed & untyped benchmarks are now running the same code.
Pull request:
https://github.com/bennn/gtp-benchmarks/pull/20
Unfortunately this change has BIG implications for performance. That format
call must have been executed often and suffered from runtime checks / wrappers.
- old typed/untyped ratio = 10.91x
- new typed/untyped ratio = 1.36x
The new zordoz now has worst-case <4x overhead. Before, things went up to 14x. Many thanks to @camoy for finding this small-looking error that introduced large overhead in typed code.
data for plots
Thank you Cameron Moy