Understanding the Compact CLR Engine

In software, developers usually must make a trade-off between fast code and code that uses little memory. That is, certain design decisions can err on the side of faster performance that consumes a lot of memory (for example, by caching results in memory) or processes can be slower and use very little memory (for example, by spending central processing unit cycles calculating certain results every time they are asked for). Under the compact CLR, trading random access memory (RAM) usage for speed doesn't always work. You must write code that is both memory-efficient and fast at the same time. To understand why, you must understand the inner workings of the garbage collector (GC) and the just-in-time (JIT)

Get Microsoft® Mobile Development Handbook now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.