On Thursday 23 October 2003 08:39, Bjorn Stabell wrote:
-----Original Message----- From: Toby Dickenson [mailto:tdickenson@geminidataloggers.com]
[...]
The right term is "deactivate". The main reason for deactivating an object is that the total number of objects exceeds the per-thread limit. There are other reasons.
Is object cache/memory shared between threads, or is it per thread?
It is per-thread
If that's the case, is there any reason to limit the number of threads in order to conserve memory? (I read this tip in an old discussion thread somewhere.)
Yes. The default of 4 threads is arguably too high. All my applications work better with 2 threads, and double the cache size (but still using the same total amount of memory)
If that's not the case, why isn't it the case? It sounds very wasteful in terms of memory use.
They need to be seperate to give isolation between transactions. Some classes that allocate large amounts of memory for immutabe objects have custom optimisations to share those between threads. -- Toby Dickenson