chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] [Chicken-hackers] Any thoughts on performance woes?


From: Peter Bex
Subject: Re: [Chicken-users] [Chicken-hackers] Any thoughts on performance woes?
Date: Tue, 7 Apr 2015 10:04:32 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Tue, Apr 07, 2015 at 09:43:55AM +0200, Felix Winkelmann wrote:
> > 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.

It's still rather interesting that Racket and even Gauche don't seem to
have a problem with this program.

However, I think the program's author has an attitude problem.  Also,
the FUD this Larceny benchmark is spreading is getting on my nerves:
The Larceny benchmarks use the r7rs egg, which implies the use of the
"numbers" egg for all arithmetic, which means a complete slowdown in
anything related to numerics.  If you were to strip out the r7rs stuff
it will be a lot faster because it can use inlining for all numeric
operations.

I have a solution in the works for the particular problem of slow
numbers.  This is in a CHICKEN 5 branch I've been working on, which
I will announce in a week or so.

Cheers,
Peter

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]