chicken-hackers
[Top][All Lists]
Advanced

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

Re: [Chicken-hackers] Benchmark for "values" - interesting results


From: Jörg F . Wittenberger
Subject: Re: [Chicken-hackers] Benchmark for "values" - interesting results
Date: 21 May 2013 10:23:45 +0200

On May 20 2013, Arthur Maciel wrote:

Dear Joerg, certainly I'm not the best person to delve into details about
whether this should be done or not. But recalling some requests I've made
to this list in order to change chicken's core for the sake of
'optimizations' I realized that it is better to change it only if we touch
a critical point that can't be bypassed in other ways.

Maybe I missed your point.  IHMO Chicken is a compiler.  And a compilers
point is run code faster than possible in interpreters, isn' it?
If we would not develop Chicken further, why not just freeze it as
it is?  The whole chicken-hackers mailing list had no purpose then.

Furthermore according to my understanding it's better to optimize
the compiler than rewriting all existing code to work around weaknesses.

Sure, incorporating lessons learned from other Scheme implementations
is hard work and certainly nothing done between noon and lunch.

At the other hand, replacing a library procedure with compatible
code found to be 20x faster is certainly no big deal.  Except
for the effect.  The chicken compiler itself won't profit much
in this particular case, since it only used "partition" to analyse
lambdas during optimization.  Applications however might profit.

Is it really critical to you and other users?

For me: definitely yes.  No matter how much I dislike XML as such
(as most programmers do), one of the most frequent things my code
does for me in daily life involves parsing and serializing XML.
Furthermore this code runs on multiple Scheme implementations
for better/compatibility testing.  Removing uses of multiple value
from the code to speed up one platform would be a serious drawback
for another.  No point in this.  Let alone that - according to
my taste - using multiple values results in much more readable
code than resorting to all sorts of rewrites.

For others: I rewrote the SSAX parser to avoid actually going
through multiple value returns all the time.  The speedup is
nowhere near those 20x as in the partition-case.  But still
enough to actually feel it (at least when at machines like
the Segate DockStar - as in my case) in daily use.  (I'll
release the code once time permitted me to converted the test cases
too.  By now I just deployed it, which means it's running several
thousand times a day on all sorts of XML.)

Nevertheless thanks for your comment.  Better than feeling ignored.

;-)



/Jörg



.......






reply via email to

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