At Thu, 31 Jan 2019 11:08:35 -0500, David Storrs wrote: > One thing that surprised me is > that there are a handful of tests (tak1, dynamic2, tak, mazefun, > maze2, collatz-q, collatz) where Racket/CS actually outperformed CS. > How is that possible?
I have not investigated closely, but Racket CS might perform more function inlining than plain Chez Scheme. That's because Racket CS performs it own inlining pass to better support cross-module optimization, and then it hands over the result to Chez Scheme, which performs its usual inlining. Another possibility is that Racket CS changes evaluation order for some function-call expression by forcing left-to-right evaluation of the arguments. That is, Racket CS might force an order of evaluation that just happens to be slightly better. Along similar lines, the differences are small enough that it could be just from accidents of allocation order and size that trigger a memory-alignment pattern that happens to be slightly better for some layer of caching. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.