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 ....... _______________________________________________ Chicken-hackers mailing list Chicken-hackers@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-hackers