chicken-users
[Top][All Lists]
Advanced

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

Re: [Chicken-users] call-with-values speed


From: F. Wittenberger
Subject: Re: [Chicken-users] call-with-values speed
Date: Tue, 22 Nov 2005 09:57:56 +0100

thanks for sharing this experience.

It's quite interesting to me: I've been wondering why a project of mine
ran sooo slow in comparision to the rscheme based implementation.  But
considering that I love multiple value returns, I can understand.

I vaguely recall that chicken uses C parameter lists to pass arguments,
right?  RScheme has some kind of register file for parameters and return
values, which incures zero additional cost for multiple value passing.
I've no idea, if it would fit; maybe such a mechanism could make it into
chicken?

Regards
/Jörg

Am Dienstag, den 22.11.2005, 09:18 +0100 schrieb felix winkelmann:
> On 11/22/05, Zbigniew <address@hidden> wrote:
> >
> > Unfortunately, I found that handling multiple values is very slow.  In
> > fact, if you cannot use the method I mentioned above (the fastest), it
> > is much faster to construct and deconstruct a list or cons with 2
> > values than to process multiple values.  I provide some timing below.
> > I do not personally care if values are fast, as I have other
> > satisfactory workarounds; it is just interesting.  I didn't find any
> > mention of it in the mailing list archives, though.
> >
> 
> Yes, multiple values need more processing, but when compiling
> the code you will find that the list-based approach is in the end "only"
> twice as fast as the multiple values solution (running the test in the
> interpreter isn't that representative, really).
> But, yes, it's not that multiple values are slow, it's that allocation
> (as in the list-case) is quite fast...
> 
> 
> cheers,
> felix
> 
> 
> _______________________________________________
> Chicken-users mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/chicken-users




reply via email to

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