38 ms·
"Possibly, divide your heap into smaller pieces with their own GC? Restructure your system" That's the common recommendation. (resisting calling it "pat answer
by chetanahuja 11y ago
"Possibly, divide your heap into smaller pieces with their own GC? Restructure your system"
That's the common recommendation. (resisting calling it "pat answer"). Suffice it to say, this is not always possible. Apart from all the business related issues with rewriting a complex system from scratch, breaking up a large shared memory system into smaller, communicating processes multiplies both the software complexity (roughly by O(N^2) where N is the number of new components created) as well as hardware requirements in it's own right -- think of all the overhead of marshalling/demarshalling, communication latencies, thread managements, increased missed cache-hits because of fragmenting that nice giant cache you were hosting in that big JVM heap.