AlHal2
asked on
CLR weaknesses and workarounds
Where can I find a list of known weaknesses and workarounds of the CLR? I've seen examples below through googling, but was wondering if there is one repository listing these things.
One thing I've come across is that no single object can be more than 2GB. A new workaround is in .NET 4.5 called gcGetVeryLargeObjects.
Memory Leaks Due to Unused Objects that are Still Referenced. If a program never refers to an object again, but there is some path leading to that object then the Garbage Collector does not release its memory.
Another very well known limitation of .NET is its large object heap. If an object becomes part of this heap, the runtime does not move it. This can lead to a program running out of memory prematurely. When Garbage Collector collects a large object from this large object heap, it can also leave behind holes in the heap, thereby causing the free space to become fragmented.
There are also garbage collection pauses.
One thing I've come across is that no single object can be more than 2GB. A new workaround is in .NET 4.5 called gcGetVeryLargeObjects.
Memory Leaks Due to Unused Objects that are Still Referenced. If a program never refers to an object again, but there is some path leading to that object then the Garbage Collector does not release its memory.
Another very well known limitation of .NET is its large object heap. If an object becomes part of this heap, the runtime does not move it. This can lead to a program running out of memory prematurely. When Garbage Collector collects a large object from this large object heap, it can also leave behind holes in the heap, thereby causing the free space to become fragmented.
There are also garbage collection pauses.
ASKER CERTIFIED SOLUTION
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
ASKER