|optimization using profiling email@example.com (1998-11-12)|
|Re: optimization using profiling firstname.lastname@example.org (1998-11-15)|
|Re: optimization using profiling email@example.com (John Williams) (1998-11-15)|
|Re: optimization using profiling firstname.lastname@example.org (Joachim Durchholz) (1998-11-15)|
|From:||"John Williams" <email@example.com>|
|Date:||15 Nov 1998 13:29:38 -0500|
|Organization:||The University of Texas at Austin, Austin, Texas|
<firstname.lastname@example.org> wrote in message email@example.com...
>How? What can be done after profiling that can't be done without it ?
>To get a real improvement, I guess I must run my application to cover
>ALL the possibilities (all branches in code), or I'll get worse
>performance, since the compiler will think that some code is never or
>almost never being executed, right?
No; if some branches are rarely taken, this is exactly what profiling is
trying to determine.
Some very important optimizations (e.g. procedure inlining) depend on
finding the most common branches. Inlining commonly-called procedures can
dramatically improve performance, but inlining the wrong procedures only
causes code bloat. Profiling can be especially useful for object oriented
languages where viritual procedures make inlining much more difficult to do
effectivlely. The UW Cecil/Vortex project is a good example of using
profiling to guide optimizations like this.
Return to the
Search the comp.compilers archives again.