Annotated edit history of
Profiling version 4, including all changes.
View license author blame.
Rev |
Author |
# |
Line |
4 |
AristotlePagaltzis |
1 |
[Profiling] means monitoring code at RunTime to collect information about what it spends its time doing. The goal is to identify computationally intensive parts worthy of [Optimisation] -- either manually by a programmer tweaking the SourceCode, or automatically during CompileTime. |
2 |
StuartYeates |
2 |
|
4 |
AristotlePagaltzis |
3 |
Automatic [Optimisation] generally yields much lower gains, but manual [Optimisation] is expensive. The two methods are therefor generally complementary; you will usually want to make initial [Optimisation]s manually, yielding greater speedups before diminishing returns render further effort inefficient, and then squeeze out a little more performance yet by automatic means. |
3 |
StuartYeates |
4 |
|
4 |
AristotlePagaltzis |
5 |
If a traditional [Compiler] is used, [Profiling] information is generally saved to disk, either as a summary (requires more [RAM]) or as a log (requires more diskspace), and then postprocessed for use by the [Compiler]. [GCC] uses the <tt>-pg</tt> argument to build BinaryExecutable~s instrumented with profiling code and gprof(1) to display the resulting data. The [JVM] has profiling infrastructure already built into it, so normally compiled [Java] classes can always be profiled. There is a standard interface to the profiling and debugging features and several user-level interfaces, including fancy [GUI] applications. |
|
|
6 |
|
|
|
7 |
If a JustInTime [Compiler] is used, this work can also be done AutoMagic~ally at RunTime, in which case it is called a HotSpotCompiler. Many recent [JVM]s sport such a HotSpotCompiler. |