picrin-scheme/picrin — pull request #207 by KeenS (2014-09-05 21:16:46+00:00)
Title: Fast reader

Current picrin reader allocates and soon frees dispatching string all the time when it meets new object. This makes picrin incredibly slow. Only if you stoped needles allocating, picrin gets faster by factor of more than 3.

master:
./bin/picrin ../t/r7rs-tests.scm
15.98s user 0.10s system 99% cpu 16.129 total

fast-reader:
./bin/picrin ../t/r7rs-tests.scm
4.90s user 0.10s system 99% cpu 5.035 total

I think `pic_reader_*`s aren't needed anymore so they're commented out but if you need (such times like when you want reader from scheme side), I'll restore.