[cl-json-devel] cl-json 0.4
Boris Smilga
boris.smilga at gmail.com
Wed Apr 29 01:28:23 UTC 2009
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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: decoder-regression.table
Type: application/octet-stream
Size: 2170 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/cl-json-devel/attachments/20090429/193859e5/attachment.obj>
More information about the cl-json-devel
mailing list