From a0fcb600572ea0da9dee1b5b9e7a24ce674ebe7e Mon Sep 17 00:00:00 2001 From: Matias Linares Date: Sat, 5 Dec 2020 10:55:56 -0300 Subject: Add 2018 and 2017 --- 2018/prof.html | 1264 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1264 insertions(+) create mode 100644 2018/prof.html (limited to '2018/prof.html') diff --git a/2018/prof.html b/2018/prof.html new file mode 100644 index 0000000..f34c6b0 --- /dev/null +++ b/2018/prof.html @@ -0,0 +1,1264 @@ + + + + + + + MoarVM Profiler Results + + + + + + + +
+
+

Time Spent

+

The profiled code ran for {{TotalTime}}ms. Of this, + {{GCOverheadTime}}ms were spent on garbage collection + (that's {{GCOverheadTimePercent}}%). +

+

The dynamic optimizer was active for {{SpeshTimePercent}}% of the program's run time. + + + + + + + + + + + + + + + +
Executing Code +
+
+
+
+
+
+
+ {{ExecutingTimePercent}}% + ({{ExecutingTime}}ms) +
+
Garbage Collection +
+
+
+
+
+
+
+ {{GCTimePercent}}% + ({{GCTime}}ms) +
+
Dynamic Optimization +
+
+
+
+
+
+
+ {{SpeshTimePercent}}% + ({{SpeshTime}}ms) +
+
+ +

Call Frames

+

In total, {{EntriesWithoutInline}} call frames were + entered and exited by the profiled code. Inlining eliminated the need + to create {{EntriesInline}} call frames (that's + {{InlinePercent}}%). +

+ + + + + + + + + + + + + + + +
Interpreted Frames +
+
+
+
+
+
+
+ {{InterpFramesPercent}}% + ({{InterpFrames}}) +
+
Specialized Frames +
+
+
+
+
+
+
+ {{SpeshFramesPercent}}% + ({{SpeshFrames}}) +
+
JIT-Compiled Frames +
+
+
+
+
+
+
+ {{JITFramesPercent}}% + ({{JITFrames}}) +
+
+ +

Garbage Collection

+

The profiled code did {{GCRuns}} garbage collections. + There were {{FullGCRuns}} full collections involving + the entire heap. +

+

+ The average nursery collection time was {{NurseryAverage}}ms. + + The average full collection time was {{FullAverage}}ms. + + + On average, {{AverageParticipants}} threads participated in GC. + +

+ +

Dynamic Optimization

+

Of {{OptimizedFrames}} specialized or JIT-compiled frames, there were + {{DeoptOnes}} deoptimizations (that's + {{DeoptOnePercent}}% of all optimized frames). +

+

+ There was no global deoptimization triggered by the + profiled code. +

+

+ There was one global deoptimization triggered by the + profiled code. +

+

+ There were {{DeoptAlls}} global deoptimization triggered + by the profiled code. +

+

+ There was no On Stack Replacement performed while + executing the profiled code (normal if the code lacks long-running + loops with many iterations). +

+

+ There was one On Stack Replacement performed while + executing the profiled code. +

+

+ There were {{OSRs}} On Stack Replacements performed + while executing the profiled code. +

+
+
+ +
+
+ + + + + + + + + + + + + + + + + +
+ Name + + EntriesInclusive TimeExclusive Time + Interp / + Spesh / + JIT +
+ {{routine.Name}}
+ {{routine.File}}:{{routine.Line}} +
{{routine.Entries}} +
+
+
+
+
+
+
+ {{routine.InclusiveTimePercent}}% + ({{routine.InclusiveTime}}ms) +
+
+
+
+
+
+
+
+
+ {{routine.ExclusiveTimePercent}}% + ({{routine.ExclusiveTime}}ms) +
+
+
+
+
+
+
+
+
+
+
+
+
+ OSR +
+
+
+
+ + + +
+
+ + + +

+ {{Current.name == '' ? '<anon>' : Current.name}}
+ {{File}}:{{Line}} +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + +
Calls (Inlined) +
+
+
+
+
+
+
+
+
+ {{Entries}} +
+
+ {{Entries}} + + {{InlineEntries}} ({{InlinePercent}}%) +
+
Interpreted Calls +
+
+
+
+
+
+
+ {{InterpPercent}}% + ({{InterpEntries}}) +
+
Specialized Calls +
+
+
+
+
+
+
+ {{SpeshPercent}}% + ({{SpeshEntries}}) +
+
JIT-Compiled Calls +
+
+
+
+
+
+
+ {{JITPercent}}% + ({{JITEntries}}) +
+
+ +
+
Callees
+ + + + + + + + + + + + + + + + + +
+ Name + + CallsTime In Callee + Interp / + Spesh / + JIT + + Inlined +
+ {{callee.Name}}
+ {{callee.File}}:{{callee.Line}} +
{{callee.Calls}} +
+
+
+
+
+
+
+ {{callee.TimePercent}}% + ({{callee.Time}}ms) +
+
+
+
+
+
+
+
+
+
+
+
+ + + + {{callee.InlinedPercent}}% +
+
+ + + + {{callee.InlinedPercent}}% +
+
+
+ This code has no callees. +
+
+ +
+
+ +
+
+ + + + + + + + + + + + + +
+ Name + + AllocationsAllocating Routines
{{alloc.Name}} +
+
+
+
+
+
+
+
+
+
+
+ {{alloc.Allocations}} +
+
+ View +
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + +
+ Start Time + + Run + Full + Time + + Nursery: + Retained / + Promoted / + Freed +
{{gc.StartTime}}ms{{gc.Run}} + + + + +
+
+
+
+
+
+
+ {{gc.Time}}ms +
+
+
+
+
+
+
+
+
+
+
+
+
+ {{gc.RetainedKilobytes}}KB / + {{gc.PromotedKilobytes}}KB / + {{gc.ClearedKilobytes}}KB ... + {{gc.Gen2Roots}} gen2 roots +
+
+
+
+ +
+
+

OSR

+

On Stack Replacement detects routines containing hot loops that are + being interpreted, and replaces them with specialized or JIT-compiled + code.

+ + + + + + + + + + + +
+ Routine + On Stack Replacements
+ {{osr.Name}}
+ {{osr.File}}:{{osr.Line}} +
+
+
+
+
+
+
+
+ {{osr.Count}} +
+
+

+ No OSR was performed during this profile. +

+ +

Local Deoptimization

+

Local deoptimization happens when a guard in specialized or JIT-compiled + code fails. Since the code was produced assuming the guard would hold, + the VM falls back to running the safe, but slower, interpreted code.

+ + + + + + + + + + + +
+ Routine + Deoptimizations
+ {{deopt.Name}}
+ {{deopt.File}}:{{deopt.Line}} +
+
+
+
+
+
+
+
+ {{deopt.Count}} +
+
+

+ No local deoptimizations occurred during this profile. +

+ +

Global Deoptimization

+

Global deoptimization happens when an event occurs that renders + all currently type-specialized or JIT-compiled code on the call + stack potentially invalid. Mixins - changing the type of an object + in place - are a common reason.

+ + + + + + + + + + + +
+ Routine + Deoptimizations
+ {{deopt.Name}}
+ {{deopt.File}}:{{deopt.Line}} +
+
+
+
+
+
+
+
+ {{deopt.Count}} +
+
+

+ No global deoptimizations occurred during this profile. +

+ +
+
+ + + + + + -- cgit v1.2.3-70-g09d2