|
From: Brett v. de S. <bv...@as...> - 2010-03-12 22:11:28
|
> >If you can't or won't split into instances, I still believe hacking >the data representation is the way to go. Complex data structures can >be externalized just as well as simple ones -- or at least represented >in a less pointer-intensive manner. I came up with a rather interesting solution to this one (giving about a 50% reduction in the size of my data structures). I go through my data structures, which are basically large lisp expressions, and create a list of all distinct subexpressions. Then I go through the data structures and remove any duplicate subexpression, making all pointers to a given subexpression point to the same object in memory. Since the server never modifies these expressions, there is no problem with several things pointing to the same subexpression. Brett |