News for hackers. Stuff that matters.
Re:Lightening run-time code generation by neilv on Friday May 24, 2019 @07:54PM (#20006252)
Am building Guile 2.9.2 right now, to try it out.

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).

Re:Lightening run-time code generation by bjoli on Saturday May 25, 2019 @02:30AM (#20007446)
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.

Re:Lightening run-time code generation by fatcow on Saturday May 25, 2019 @03:46AM (#20007641)
Hi! I'm struggling to lean peg in guile - care to share csv-parsing code please?
Re:Lightening run-time code generation by bjoli on Saturday May 25, 2019 @09:34AM (#20008956)
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.

Re:Lightening run-time code generation by fatcow on Friday June 07, 2019 @03:51AM (#20122493)
Sorry for delay - will raise hand on #guile when online next
Re:Lightening run-time code generation by neilv on Saturday May 25, 2019 @04:33PM (#20011214)
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/