<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>More on inlining...</title><link>http://blogs.msdn.com/ericgu/archive/2004/01/29/64717.aspx</link><description>Just came across this: Method Inlining There is a cost associated with method calls; arguments need to be pushed on the stack or stored in registers, the method prolog and epilog need to be executed and so on. The cost of these calls can be avoided for</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>.NET method inlining</title><link>http://blogs.msdn.com/ericgu/archive/2004/01/29/64717.aspx#64745</link><pubDate>Fri, 30 Jan 2004 04:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:64745</guid><dc:creator>Jeff Key</dc:creator><description /></item><item><title>CLR Inlining</title><link>http://blogs.msdn.com/ericgu/archive/2004/01/29/64717.aspx#64914</link><pubDate>Fri, 30 Jan 2004 12:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:64914</guid><dc:creator>Paul's Imaginary Friend</dc:creator><description /></item><item><title>re: More on inlining...</title><link>http://blogs.msdn.com/ericgu/archive/2004/01/29/64717.aspx#64996</link><pubDate>Fri, 30 Jan 2004 14:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:64996</guid><dc:creator>Jim Argeropoulos</dc:creator><description>You may also check out Rico's recent post on inlining &lt;a target="_new" href="http://weblogs.asp.net/ricom/archive/2004/01/14/58703.aspx"&gt;http://weblogs.asp.net/ricom/archive/2004/01/14/58703.aspx&lt;/a&gt;</description></item><item><title>re: More on inlining...</title><link>http://blogs.msdn.com/ericgu/archive/2004/01/29/64717.aspx#69976</link><pubDate>Mon, 09 Feb 2004 13:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:69976</guid><dc:creator>moo</dc:creator><description>Why dont you inline small switch-case constructs?&lt;br&gt;&lt;br&gt;Why was 32 bytes chosen as an IL size for inlining?&lt;br&gt;&lt;br&gt;Are small loops not unrolled and inlined or is any loop just not inlined?&lt;br&gt;&lt;br&gt;Why are struct parameters not inlined?&lt;br&gt;&lt;br&gt;I get the impression that alot of code that could be inlined wont be.&lt;br&gt;&lt;br&gt;</description></item><item><title>re: More on inlining...</title><link>http://blogs.msdn.com/ericgu/archive/2004/01/29/64717.aspx#70237</link><pubDate>Mon, 09 Feb 2004 21:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:70237</guid><dc:creator>Eric</dc:creator><description>Moo, I'll see if I can get somebody on the runtime to address those concerns...</description></item><item><title>re: More on inlining...</title><link>http://blogs.msdn.com/ericgu/archive/2004/01/29/64717.aspx#70286</link><pubDate>Mon, 09 Feb 2004 23:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:70286</guid><dc:creator>Rico Mariani</dc:creator><description>I'm not on the JIT team so I can't really answer definitively.  But the overarching theme here is that the JIT isn't like a regular compiler -- it has serious time and space constraints because it's running, after all, in the same process as the application it is jitting for.  As a result of that certain heuristics were chosen to trade off compilation speed for code quality.  &lt;br&gt;&lt;br&gt;There's a certain irony here because you can imagine that in fact *better* compliation might be possible when JITing because we know all the details of the target machine, no guessing, and you could even imagine capturing information about what has happened so far, or what happened last time, to do a better job jitting.  But all of these factors are competing against the clock... high speed compilation in the JIT is also very valuable.&lt;br&gt;&lt;br&gt;So in the end there's a natural tension and you make choices like the 32 bytes of IL.&lt;br&gt;&lt;br&gt;To get the history of why those particular choices were made, you'd want a JIT person to speak.  My guess would be that they'd often say it's all a comprimise.&lt;br&gt;&lt;br&gt;However you could imagine for instance doing a lot more heavy lifting when ngen'ing than when jitting.  But then of course you get the other trade off that if the compiler does totally different things there might be different bugs, which would really be annoying...&lt;br&gt;&lt;br&gt;But I digress...</description></item><item><title>re: More on inlining...</title><link>http://blogs.msdn.com/ericgu/archive/2004/01/29/64717.aspx#70307</link><pubDate>Tue, 10 Feb 2004 01:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:70307</guid><dc:creator>moo</dc:creator><description>Sure its a compromise but there is more than one Runtime out there for different architectures. Server and Workstation, the difference mainly being the garbage collector running on a different CPU right?&lt;br&gt;&lt;br&gt;How do these different versions differ on the JIT?</description></item><item><title>re: More on inlining...</title><link>http://blogs.msdn.com/ericgu/archive/2004/01/29/64717.aspx#145777</link><pubDate>Tue, 01 Jun 2004 20:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:145777</guid><dc:creator>仪表</dc:creator><description>runtime to address those concerns?it dosn't work!</description></item><item><title>MBA</title><link>http://blogs.msdn.com/ericgu/archive/2004/01/29/64717.aspx#324476</link><pubDate>Sat, 18 Dec 2004 18:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:324476</guid><dc:creator>MBA</dc:creator><description>Helpful For MBA Fans.</description></item><item><title>Re:</title><link>http://blogs.msdn.com/ericgu/archive/2004/01/29/64717.aspx#333979</link><pubDate>Tue, 28 Dec 2004 13:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:333979</guid><dc:creator>RebelGeekz </dc:creator><description>[&lt;a target="_new" href="http://itpeixun.51.net/"&gt;http://itpeixun.51.net/&lt;/a&gt;][&lt;a target="_new" href="http://aissl.51.net/"&gt;http://aissl.51.net/&lt;/a&gt;][&lt;a target="_new" href="http://kukuxz003.freewebpage.org/"&gt;http://kukuxz003.freewebpage.org/&lt;/a&gt;][&lt;a target="_new" href="http://kukuxz001.51.net/"&gt;http://kukuxz001.51.net/&lt;/a&gt;][&lt;a target="_new" href="http://kukuxz003.51.net/"&gt;http://kukuxz003.51.net/&lt;/a&gt;][&lt;a target="_new" href="http://kukuxz005.51.net/"&gt;http://kukuxz005.51.net/&lt;/a&gt;][&lt;a target="_new" href="http://kukuxz002.51.net/"&gt;http://kukuxz002.51.net/&lt;/a&gt;][&lt;a target="_new" href="http://kukuxz004.freewebpage.org/"&gt;http://kukuxz004.freewebpage.org/&lt;/a&gt;][&lt;a target="_new" href="http://kukuxz007.51.net/"&gt;http://kukuxz007.51.net/&lt;/a&gt;][&lt;a target="_new" href="http://kukuxz001.freewebpage.org/"&gt;http://kukuxz001.freewebpage.org/&lt;/a&gt;][&lt;a target="_new" href="http://kukuxz006.51.net/"&gt;http://kukuxz006.51.net/&lt;/a&gt;][&lt;a target="_new" href="http://kukuxz002.freewebpage.org/"&gt;http://kukuxz002.freewebpage.org/&lt;/a&gt;][&lt;a target="_new" href="http://kukuxz004.51.net/"&gt;http://kukuxz004.51.net/&lt;/a&gt;][&lt;a target="_new" href="http://kukuxz008.51.net/"&gt;http://kukuxz008.51.net/&lt;/a&gt;][&lt;a target="_new" href="http://kukuxz009.51.net/"&gt;http://kukuxz009.51.net/&lt;/a&gt;][&lt;a target="_new" href="http://kukuxz005.freewebpage.org/"&gt;http://kukuxz005.freewebpage.org/&lt;/a&gt;][&lt;a target="_new" href="http://kukuxz006.freewebpage.org/"&gt;http://kukuxz006.freewebpage.org/&lt;/a&gt;][&lt;a target="_new" href="http://kukuxz007.freewebpage.org/"&gt;http://kukuxz007.freewebpage.org/&lt;/a&gt;][&lt;a target="_new" href="http://kukuxz009.freewebpage.org/"&gt;http://kukuxz009.freewebpage.org/&lt;/a&gt;]</description></item><item><title>robubu &amp;raquo; Worlds Apart - JVMs and CLIs</title><link>http://blogs.msdn.com/ericgu/archive/2004/01/29/64717.aspx#1992248</link><pubDate>Fri, 30 Mar 2007 06:00:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1992248</guid><dc:creator>robubu » Worlds Apart - JVMs and CLIs</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://robubu.com/?p=27"&gt;http://robubu.com/?p=27&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>robubu - the technical weblog of Rob Yates &amp;raquo; Worlds Apart - C# and Java</title><link>http://blogs.msdn.com/ericgu/archive/2004/01/29/64717.aspx#2292850</link><pubDate>Fri, 27 Apr 2007 03:53:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2292850</guid><dc:creator>robubu - the technical weblog of Rob Yates » Worlds Apart - C# and Java</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://robubu.com/?p=28"&gt;http://robubu.com/?p=28&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>[Daily Issue] Spiegare il Method In-Lining</title><link>http://blogs.msdn.com/ericgu/archive/2004/01/29/64717.aspx#4908174</link><pubDate>Fri, 14 Sep 2007 12:32:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4908174</guid><dc:creator>NeatCoding</dc:creator><description>&lt;p&gt;[Daily Issue] Spiegare il Method In-Lining&lt;/p&gt;
</description></item><item><title>Scott Hanselman's Computer Zen - Release IS NOT Debug: 64bit Optimizations and C# Method Inlining in Release Build Call Stacks</title><link>http://blogs.msdn.com/ericgu/archive/2004/01/29/64717.aspx#5676928</link><pubDate>Thu, 25 Oct 2007 22:34:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5676928</guid><dc:creator>Scott Hanselman's Computer Zen - Release IS NOT Debug: 64bit Optimizations and C# Method Inlining in Release Build Call Stacks</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.hanselman.com/blog/ReleaseISNOTDebug64bitOptimizationsAndCMethodInliningInReleaseBuildCallStacks.aspx"&gt;http://www.hanselman.com/blog/ReleaseISNOTDebug64bitOptimizationsAndCMethodInliningInReleaseBuildCallStacks.aspx&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Release IS NOT Debug: 64bit Optimizations and C# Method Inlining in Release Build Call Stacks</title><link>http://blogs.msdn.com/ericgu/archive/2004/01/29/64717.aspx#5678810</link><pubDate>Thu, 25 Oct 2007 23:48:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5678810</guid><dc:creator>ASPInsiders</dc:creator><description>&lt;p&gt;Just a reminder: Release builds are not Debug builds. Seems obvious, but it's worth saying again. Release&lt;/p&gt;
</description></item><item><title>Debugging Release Builds</title><link>http://blogs.msdn.com/ericgu/archive/2004/01/29/64717.aspx#8439711</link><pubDate>Wed, 30 Apr 2008 01:25:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8439711</guid><dc:creator>&lt;T&gt;homas' Blog</dc:creator><description>&lt;p&gt;Vi builder altid vores release builds med /DEBUG:PDBONLY og /optimize+. Ved at benytte /DEBUG:PDBONLY&lt;/p&gt;
</description></item></channel></rss>