Skip to content

v5.0

Compare
Choose a tag to compare
@bennn bennn released this 20 Nov 00:01

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.

lnm-4-vs-5

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.

zordoz-4-vs-5

data for plots

zordoz-lnm-v5.tar.gz

Thank you Cameron Moy