Looking at the JIRA issue discussion, I can sort of see people are missing the point. The
point is to save on space and mostly people talk of "time" performance
improvements.
Along the lines of "space", there's a couple of changes I would suggest as
well:
1. Don't keep the Fqn in the Node. Instead, keep a reference to the parent and only
store the name. Build the Fqn when necessary. (Not sure this really saves tons of memory,
but...)
2. Consolidate the boolean flags into a byte or short. Use some sort of utility class
(with "enum" values) to set/check the bits of the byte/short.
3. Store the key/values/children in flat arrays.
4. Use lock striping, rather than a lock per node.
The problem with all of these, though, it really complicates the hell out of supporting
the APIs that expose the data as a Set/Map/etc. And how do you manage concurrency?
What you need is some sort of obsessive/compulsive possibly autistic intern to come in and
get this done. :-)
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4080199#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...