Check whether a form is opened as subform

Actually, rather then using a table where the rows are constantly added and deleted, maybe this is a use for a collection or dictionary. Not sure if that solves the bloat problem but it might.

Pat, I'm going to offer an OPINION that if the dictionary content is treated as volatile (i.e. insert, update, and deletion of dictionary name/values happens a lot), it will contribute to the bloat problem and will be fixed by the Compact & Repair action that copies (and compresses as it works) EVERY OBJECT in the DB file to a new DB file.

The problem with garbage collection isn't WHAT is being collected but HOW it is being collected. Which is why the problem would be there. But in Access or any other Office tool that allows you to create memory-resident scratchpad items, you will have the same problem, though there may differences in degree - but not in kind.

The only method I've ever seen to improve traditional "scratchpad" garbage collection was in the OpenVMS operating system, using what they called a "lookaside list." Basically, rather than allocating the exact amount of space you need for a structure, you have a bunch of pre-allocated, fixed-size structures in a formal double-ended queue. If you need a chunk of scratchpad memory (up to the size of the pre-allocated chunks), you just allocate the whole chunk regardless of how much less you actually need. When done with the allocated chunk, you release it via a routine that re-threads it back into the double-ended queue (a.k.a. dequeue, pronounced "deck"). I don't know if Windows does this, but Microsoft and Digital Equipment DID have a teaming agreement for a while and shared technology. (Where do you think MS learned how to build cluster machines?)
 

Users who are viewing this thread

Back
Top Bottom