[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