I am a developer at Microsoft and work in the .NET Common Language Runtime (CLR) team. For the last 4 years I have been working on virtual machine technologies on a variety of form factors including desktops (Windows, Linux), tablets (Win8), gaming-consoles (Xbox 360), mobile devices (Windows Phone 7, Windows CE, Symbian).I have worked on various core pieces of the runtime including Garbage Collector, memory manager, platform abstraction layer, runtime-performance, etc.Before working on .NET I worked on Visual Studio Team Foundation Server, Visual Studio Team System, Adobe Framemaker, Adobe Acrobat, Texas Instrument's Code Composer Studio.
If you are looking for information on the new Generational GC on Windows Phone Mango please visit http://blogs.msdn.com/b/abhinaba/archive/2011/06/14/wp7-mango-the-new-generational-gc.aspx
Many moons ago I made a post on When does the .NET Compact Framework Garbage Collector run. Given that a lot of things have changed since then, it’s time to make another post about the same thing.
For the developers coming to Windows Phone 7 (WP7) from the Windows desktop let me first clarify that the runtime (CLR) that is running on the WP7 is not the same as the one running on the desktop. The WP7 runtime is known as .NET Compact Framework (NETCF) and it works differently than the “desktop CLR”. For 90% of cases this is irrelevant as the WP7 developer targets the XNA or Silverlight programming model and hence what is running underneath is really not important. E.g when you drive you really do not care about the engine. This post is for the other 5% where folks do run into issues (smoke coming out of the car).
Moreover do note that when the GC is run is really an implementation detail that is subject to change.
Now that we have all the disclaimers behind us lets get down to the list.
The Garbage Collector is run in the following situations
The GC is NOT run in the following cases (I am explicitly calling these out because in various conferences and interactions I’ve heard folks thinking it might be)
For folks migrating from NETCF 3.5 the list below gives you the changes
Let me start by saying that using mm-dd-yyyy is just plain wrong. No really it just doesn’t make any sense to me. Neither does it make any sense to most people world-over if you go my the date-format map up at http://en.wikipedia.org/wiki/File:Date_upd1.PNG
If one uses dd-mm-yyyy it makes sense because it’s in decreasing order of granularity (kind of LSB first). yyyy-mm-dd makes ever more sense because
d:\MyStuff\Personal\Pictures>dir 2010* Volume in drive D is Data Volume Serial Number is 3657-F386
Directory of d:\MyStuff\Personal\Pictures
06/17/2010 01:06 PM <DIR> 2010_0501 06/17/2010 01:07 PM <DIR> 2010_0504 06/17/2010 01:16 PM <DIR> 2010_0508 06/17/2010 01:20 PM <DIR> 2010_0509 06/17/2010 01:24 PM <DIR> 2010_0515 06/17/2010 01:29 PM <DIR> 2010_0517 06/17/2010 01:30 PM <DIR> 2010_0523 06/17/2010 01:33 PM <DIR> 2010_0528 06/17/2010 01:37 PM <DIR> 2010_0529 06/17/2010 01:43 PM <DIR> 2010_0605 06/17/2010 01:47 PM <DIR> 2010_0606 06/21/2010 08:40 PM <DIR> 2010_0616 06/28/2010 10:33 PM <DIR> 2010_0619 0 File(s) 0 bytes 13 Dir(s) 55,925,829,632 bytes free
But I just cannot fathom why would anyone use mm/dd/yyyy. In what way is that intuitive?