Blue Theme Orange Theme Green Theme Red Theme
 
Home | Forums | ASP.NET 2.0 Tutorials | Web Services | How Do I...? | Class Browser | WPF Quick Starts | Advertise with Us
 | Consulting  
Submit an Article Submit a Blog 
 Jump to
Skip Navigation Links
TechnologyExpand Technology
WebsiteExpand Website
6 Months Free & No Setup Fees ASP.NET Hosting!
Search :       Advanced Search »
Home » Mobile and Embedded » Programming with .NET Compact Framework 1.0 and SQL CE 2.0 : Part II

Programming with .NET Compact Framework 1.0 and SQL CE 2.0 : Part II

In this article I am going to talk about garbage collection and JIT process in .NET compact framework and what are the differences between these two model of framework.

Page Views : 2659
Downloads : 0
Rating :
 Rate it
Level : Intermediate
   Print Read/Post comments Post a comment  Similar Articles  
   Email to a friend  Bookmark  Author's other articles  
 
6 Months Free & No Setup Fees ASP.NET Hosting!
Become a Sponsor
 Tag Cloud
 Latest Jobs
More ... 
 Latest Interview Questions
More ... 

Background

In this article I am going to talk about garbage collection and JIT process in .NET compact framework and what are the differences between these two model of framework .

In my previous article I have explained how to develop application target to pocket PC  using .NET compact framework and MS-SQL CE  the article will be incomplete without talking about garbage collector and JIT in .NET compact framework .In this article I am going to explain about Garbage Collector / the garbage collection process  and JIT process in .NET compact framework.

As we all know in .NET the garbage collection happens automatically and  it is a un-deterministic process .The garbage collection in compact framework initiate in different ways like if the managed heap is not enough to allocate new objects or forcefully calling of GC.Collect() or if the size of object allocation in heap is more then 750 KB.

There are certain differences between .NET compact framework garbage collector and .NET framework garbage collection like as I have mention .NET compact framework design for memory constrains devices such as Pocket PC or smart phone but the .NET framework  is a platform to run different flavors of application like desktop or web based application. It has two types of garbage collector one is workstation garbage collector (Mscorwks.dll) and other is server garbage collector(Mscorsvr.dll) .Server garbage collector is much efficient then workstation garbage collector for more information click here as such .NET compact framework is concern its neither usages any of these garbage collector but it is using single collection model  garbage collector .

The other interesting things are .NET framework usages generation mechanism to collect dead objects and survival objects are promote to higher/next generation but .NET compact does not have generation model to collect objects  that mean while garbage collection process it collect all dead objects ,compact  heap and rearrange the survival objects. This is one of the key difference between two type of framework .Some time .NET compact framework free code that has jitted earlier in order to conserve memory for further allocation but .NET framework never does any code pitching for memory saving.

The garbage collection process in .NET compact framework is almost identical as .NET framework garbage collection process  like before garbage collection CLR brings all threads to safe point , examine the objects in managed heap for collection , collect all dead objects , compact the heap , reset the survival objects and some time release the pre-jitted code for additional memory .

Lets talk about the Jitting process in .NET compact framework , as we all aware that the IL code converts ( on demand)  into x86 code on the target system by the JIT compiler for example When a method is called, it is detected that there is no x86 code (native code) for the method, so IL is compiled into x86 code and executed, next time the method is called the x86 code gets executed, which means the execution of the method will be faster  for subsequent calls and leverage the application performance . In .NET compact framework is the jitted code cached in managed heap that means it will be part of garbage collection process when the  full GC happens ( called code pitching) , compact framework can jit the code up to 64 KB only if the code exceeds the limit then split the code into multiple methods and as I told earlier it does not support ngen to pre-compile your assemblies to native images.Finally compact framework support two types of JIT called iJIT and sJIT. iJIT managed call-stack as linked list where as sJIT managed call-stack as liner manner.

For more information

http://blogs.msdn.com/mikezintel/archive/2004/12/08/278153.aspx
http://blogs.msdn.com/stevenpr/archive/2004/07/26/197254.aspx

Comment Request!
Thank you for reading this post. Please post your feedback, question, or comments about this post Here.
Login to add your contents and source code to this article
 [Top] Rate this article
 
 About the author
 
Anand Kumar
I am having 3 yrs of experience on .NET environment .My core expertise is developing robust service components using ATL COM ,Remoting and Web Service and very much passionate about Microsoft Patterns and Practices and .NET performance . Apart from my regular work I am actively participating various Microsoft User Groups and sharing my knowledge and articles.
Looking for C# Consulting?
C# Consulting is founded in 2002 by the founders of C# Corner. Unlike a traditional consulting company, our consultants are well-known experts in .NET and many of them are MVPs, authors, and trainers. We specialize in Microsoft .NET development and utilize Agile Development and Extreme Programming practices to provide fast pace quick turnaround results. Our software development model is a mix of Agile Development, traditional SDLC, and Waterfall models.
Click here to learn more about C# Consulting.
 
Introducing MaxV - one click. infinite control. Hyper-V Hosting from MaximumASP.
Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
Dynamic PDF
ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications.
Nevron Chart for .NET 2010.1 Now Available
The leading .NET charting control now features PDF, Flash and Silverlight export, visualization of large datasets and more. Deliver true charting functionality to your BI, Scorecard, Presentation or Scientific apps. Download evaluation now.
ASP.NET 4 Hosting
Get 2 Months Free of ASP.NET Hosting for Only $4.95/month! Receive FREE MS SQL and MySQL Databases Including ASP.NET 4/3.5, MVC 3.0, Silverlight 4, Windows 2008/IIS 7.0 Plus FREE IIS 7 Modules. Host UNLIMITED ASP.NET Web Sites – Click Here!
 
 Post a Feedback, Comment, or Question about this article
Subject:
Comment:
6 Months Free & No Setup Fees ASP.NET Hosting!
Become a Sponsor
 Comments

 © 2012  contents copyright of their authors. Rest everything copyright Mindcracker. All rights reserved.