jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas Mueller <muel...@adobe.com>
Subject Re: [j3] Repository MicroKernel API draft
Date Tue, 21 Jun 2011 07:13:01 GMT
Hi,

>What about using the
>json library in-memory representations for the microkernel to avoid
>serialization/parsing if not necessary?

How would that make parsing and serialization _not_ necessary?

Currently, the MicroKernel doesn't fully parse the Json - it just splits
the Json diff into tokens that are substrings of the Json diff. Tokenizing
is faster than parsing because strings don't have to be de-escaped, and
numbers don't have to be parsed. Also, generating the Json is fast because
numbers don't have to be converted to string, and strings don't have to be
escaped. So that's faster than using a regular Json parser / writer as
well. 

And because in Java, String.substring creates a string that _shares_ the
character array of the original string, the memory overhead of the
MicroKernel is low (specially if there are a lot of string values, which
seems to be the case).

>The microkernel should not validate properties or do any fancy stuff with
>it, so a generic string -> value map is all there is, right?

It's a string -> string map. The value is the raw Json value (including
escape quotes and escape characters).

Regards,
Thomas


Mime
View raw message