From: Dan Leslie <[email protected]> Subject: [Chicken-hackers] Any thoughts on performance woes? Date: Mon, 06 Apr 2015 22:28:49 -0700
> A discussion has been raised on comp.lang.scheme regarding a simple > raytracer and the performance it poses in various schemes. In this, > Gauche an Racket outperform Chicken, and Racket does so > resoundingly. To be frank, it looks rather troubling for Chicken. > > I had a go at looking at what Chicken was spending its time on and it > appeared that it becomes mired in a tar pit of garbage collection > tagging. Can someone else with a little more understanding shed some > light on this? > > https://groups.google.com/d/msg/comp.lang.scheme/x1YafU5t0B0/M0mzhrl7LxYJ This is a terribly written program. It uses 3-element lists as vectors (including higher-order "vector" arithmetic using "map") and allocates like hell. The compiler can not do much with this code, and it produces CPS calls everywhere. Interesting that Gauche is so fast, it may be that its GC is in this case indeed faster than Chicken's, or that a case like "(map + ...)" is special-cased and handled more efficiently. felix _______________________________________________ Chicken-users mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/chicken-users
