masak / bel

An interpreter for Bel, Paul Graham's Lisp language
GNU General Public License v3.0
26 stars 1 forks source link

Reinstate the higher-order fastfuncs that were removed earlier #401

Closed masak closed 2 years ago

masak commented 3 years ago

These fastfuncs were removed in #274.

This addresses #273, but doesn't completely solve it yet; still need to write a set of good tests for those fastfuncs and continuations.

On my machine, with -j6, this brings the test suite from ~2165 seconds to ~1405 seconds. Put in simpler terms, for every two test suites I could run before merging this PR, I can now run three. The whole test suite, of course, is not nearly fast enough.

masak commented 3 years ago

On my machine, with -j6, this brings the test suite from ~2165 seconds to ~1405 seconds. Put in simpler terms, for every two test suites I could run before merging this PR, I can now run three.

In the CI system (which runs -j2), it's more pronounced than that: 75 minutes and 44 minutes, respectively. That's a factor of 1.7.