Closed plt-amy closed 4 years ago
New times:
0.41user 0.00system 0:00.41elapsed 99%CPU (0avgtext+0avgdata 5172maxresident)k
0inputs+0outputs (0major+648minor)pagefaults 0swaps
Some quick notes, partially taking from Programming for performance on the Chicken wiki.
It might be worth putting type definitions on every binding of a primitive type, and seeing if we get any improvements. We're already using the primitive functions, so Chicken might be able to specialise already, but not sure.
Compile with -O2
or -O3
when optimisation is enabled. I'm not sure what the default is.
Try to use some of the graph-based code generation from the Lua backend, so we can eliminate some usages of let
/let-values
. I don't know if this will actually impact performance at all, as one would hope Chicken is smart enough to optimise this already, but worth trying.
Can we use something like srfi-136 to define records, instead of a hash table? I'm not sure how the record extension type classes interact with everything else, nor of the performance of these.
This issue should be closed since the Chicken backend has been removed.
Some numbers, based on the stuff you can find over at nofact:
Ouch!