Closed tizoc closed 5 years ago
We could make notes on what things we tend to override in the benchmarks issue https://github.com/Shen-Language/shen-sources/issues/91
For some reason, v3.0.0 without overrides is slower than both 2.7.0 and 2.5.0 in some cases, which means that in the transition to the new compiler I made some things worse, I have to investigate that
Weird, the code being generated in 3.0.0 vs 2.7.0 looks exactly the same to me (sans bar-quoting), but I keep getting the same higher times for 3.0.0 without overrides.
Some overrides that worked well in Shen/Scheme
File reading overrides read the file into a pre-allocated buffer in one pass instead of byte by byte.
The tuple and vector constructors are overriden based on https://github.com/tizoc/shen-scheme/issues/9
Results for those same tests (but the amount of runs cut in 10):
For some reason, v3.0.0 without overrides is slower than both 2.7.0 and 2.5.0 in some cases, which means that in the transition to the new compiler I made some things worse, I have to investigate that. But overall, overriding those constructors improves performance like it did in Shen/Scheme.
code: