Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/man
diff options
context:
space:
mode:
authorZoltan Varga <vargaz@gmail.com>2017-01-10 01:37:57 +0300
committerGitHub <noreply@github.com>2017-01-10 01:37:57 +0300
commit2ba6bcbc48f8b4e145f9ad450fef8d411b728a8e (patch)
tree6492f5adecb290d1fc9c76c4304f8a9fb96c2aac /man
parent0007e99a87229eab592c179430c4fe3d885e1363 (diff)
[aot] Rewrite the AOT profiler. (#4176)
* [aot] Rewrite the AOT profiler. The AOT profiler is used to collect the methods/instances used at runtime. Usage: * mono --profile=aot:output=out.aotprof <app> * mono --aot=profile=out.aotprof <assembly> The first command will run <app>, collecting the list of methods it uses into the out.aotprof file. The second command passes the profile file to the AOT compiler to have it generate additional generic instances. * [docs] Add a section for AOT profiling to the mono(1) man page. * [build] Collect AOT profile info from building mscorlib in the build profile, and use it when aot-ing the csc assemblies. * [runtime] Add missing mono-profiler-aot.h file. * [runtime] Tidy up usage of MONO_PROFILER_API. * [aot] Improve error handling in the aot profiler. * [aot] Improve error handling, add more diagnostics.
Diffstat (limited to 'man')
-rw-r--r--man/mono.120
1 files changed, 20 insertions, 0 deletions
diff --git a/man/mono.1 b/man/mono.1
index bea38842eb3..ef13ea04f68 100644
--- a/man/mono.1
+++ b/man/mono.1
@@ -853,6 +853,26 @@ The offsets displayed are IL offsets.
.PP
A more powerful coverage tool is available in the module `monocov'.
See the monocov(1) man page for details.
+.SH AOT PROFILING
+You can improve startup performance by using the AOT profiler.
+.PP
+Typically the AOT compiler (\fBmono --aot\fR) will not generate code
+for generic instantiations. To solve this, you can run Mono with the
+AOT profiler to find out all the generic instantiations that are used,
+and then instructing the AOT compiler to produce code for these.
+.PP
+This command will run the specified app.exe and produce the
+\fBout.aotprof\fR file with the data describing the generic
+instantiations that are needed:
+.nf
+ $ mono --profile=aot:output=out.aotprof app.exe
+.fi
+.PP
+Once you have this data, you can pass this to Mono's AOT compiler to
+instruct it to generate code for it:
+.nf
+ $ mono --aot=profile=out.aotprof
+.fi
.SH DEBUGGING AIDS
To debug managed applications, you can use the
.B mdb