Only teasing you Leo.
From my observations (using various debuggers), memory management in eCabinets is HUGE issue. We have discussed these issues in the forum before but they indeed bear revisiting.
When you take a cabinet or room into the Line Drawing Editor, a complete copy of the object is made--for each page in the LDE. If the object uses a lot of memory (room layout?), each page with that object in the LDE uses a lot of memory. Improvements have been made to be sure, but ther is still a long way to go. At one point I think Larry was investigating using images instead of the full object for the LDE but then the objects couldn't be easily dimensioned or manipulated.
Another thing that takes a lot of time (and memory) is regenerating the entire cabinet when changes are made in one of the editors. For an example lets use your cabinet with six dovetail drawer boxes. Say you want to change a shelf location and the shelf has nothing to do with the drawer locations or sizes. After you make the change, it appears that the entire cabinet, including all of the drawer boxes, is regenerated. When you exit the Shelf/Partition Editor and return to Main, the entire cabinet is regenerated again. I can see the need to regenerate the entire cabinet when a change affects other components but not for every change then again when returning to Main.
The really comes into play when you start bumping up against Windows-imposed memory limits and there is nowhere left to store the data.
I think HOOPS is responsible for a lot of the memory issues we see in eCabinets though. All data for the cabinet is stored in a single HOOPS Streaming Format (HSF) file. Something like a dovetail drawer box has literally thousands of points that have to be plotted. This takes a lot of data in the HSF file which in turn, takes a lot of memory.
Is there a solution? Is it possible to put drawer boxes for example, in a separate file and reference that file in the main cabinet file? I don't know whether this is possible or not. If it is possible the cabinet file could contain only structural components and a reference to the drawer box file for each drawer box in it (your "pointers").
Maintaining separate, referenced files for items other than structural components that are integral to the cabinet could save a lot of memory--but (and this is a big but), it would require a major redesign effort, not to mention a lot of time, to accomplish.
I'm sure the development team has worked hard on solving this very difficult problem. Users feel the pain when using eCabinets and the developers feel the pain with every post about improving eCabinets' performance.
Its a tough issue to solve.