On 28 Apr 2009, at 01:48, Henrik Hjelte wrote:
Hello, I have now tried Boris vaccum-patch on sbcl 1.0.27.9, and it works (almost) perfectly. There was one failing testcase on the test json-number, but I believe it is because of a previous bug in sbcl that is now fixed.bugfix in sbcl. Boris, I have pushed a patch, you might want to take a look at it to see if I understood it right. [...]
It is more complex than just an old bug having been fixed: if I am not mistaken, that particular piece of behaviour in SBCL showed a difference between Darwin/PPC and FreeBSD/Intel, rather than a difference between versions. I am now trying to upgrade SBCL from 1.0.18 to 1.0.23 on the former platform, and, as soon as it is up, I will post a more informed follow-up on the issue.
And the performance is much improved, but still three times slower than before on decoding. But maybe that is a price worth paying?
Well, I have worked on the two versions with a profiler, and I think there is still much room for improvement. If you look into the table attached (which I have handcrafted from the reports of the deterministic profilers on 0.3 and on 0.4 — the design had changed a lot, so I had to juxtapose “blocks” of roughly comparable functionality), you would be able to see two most outstanding foci of regression: the string reader and the camel-case converter. The latter is actually fuller and more complex in 0.4, and probably deserves its 1 sec. extra runtime (I will be more than happy to see someone devise a lighter analogue though). The regression in the former, however, is completely gratuitious. I cannot quite see, at this moment, what the cause is, but, by all means, this thing should be brought back into the bounds of decency.
- B. Smilga.