When Racket (nee PLT Scheme) added JIT on x86, via GNU Lightning, there was a very noticeable practical performance bump for some of my work (dynamic Web serving).
For 2.9.1 I saw a performance improvement of between 1.5 and 4x across all workloads. It is still not as fast as racket, but iirc Andy said there are some low hanging fruit left.
The peg parser and my implementatio of clojure's transducers get the biggest performance improvements. My simple CSV parser got over 3x faster without any changes on my part.
Sure. Ill put it online whenever I have access to my computer next. Are you in #guile on freenode? Ivan ping you there when it's up.
It is slow as molasses though. A 5mb CSV file takes roughly 12s on 2.2. A properly implemented streaming parser should be several orders of magnitude faster. I want to see, just for shits and giggles if it is possible to beat pythons CSV parser with a pure guile module. I think it is. With guile 2.9 it should be a walk in the park.
I have a CSV parser that was originally portable R5RS+SRFI, and probably still is given minor editing. I don't know how the performance compares. (Paying work has had me focused on Racket, so I stopped doing portable packagings, but I might be going back to releasing portable packagings in R7RS.) https://www.neilvandyke.org/racket/csv-reading/
When Racket (nee PLT Scheme) added JIT on x86, via GNU Lightning, there was a very noticeable practical performance bump for some of my work (dynamic Web serving).