@GwtIncompatible(value="java.io.ByteArrayOutputStream")
public final class PerformanceTracker
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private class |
PerformanceTracker.CodeSizeEstimatePrinter
An object to get a gzsize estimate; it doesn't generate code.
|
static class |
PerformanceTracker.Stats
A Stats object contains statistics about a pass run, such as running time,
size changes, etc
|
Modifier and Type | Field and Description |
---|---|
private int |
changes |
private RecentChange |
codeChange |
private int |
codeSize |
private java.util.Deque<PerformanceTracker.Stats> |
currentPass |
private static int |
DEFAULT_WHEN_SIZE_UNTRACKED |
private int |
diff |
private int |
gzCodeSize |
private int |
gzDiff |
private int |
initCodeSize |
private int |
initGzCodeSize |
private Node |
jsRoot |
private java.util.List<PerformanceTracker.Stats> |
log
Stats for each run of a compiler pass.
|
private int |
loopChanges |
private int |
loopRuns |
private int |
runs |
private int |
runtime |
private java.util.Map<java.lang.String,PerformanceTracker.Stats> |
summary
Summary stats by pass name.
|
private com.google.common.collect.ImmutableMap<java.lang.String,PerformanceTracker.Stats> |
summaryCopy |
private boolean |
trackGzSize |
private boolean |
trackSize |
Constructor and Description |
---|
PerformanceTracker(Node jsRoot,
CompilerOptions.TracerMode mode) |
Modifier and Type | Method and Description |
---|---|
private void |
calcTotalStats() |
(package private) int |
getChanges() |
(package private) CodeChangeHandler |
getCodeChangeHandler() |
int |
getGzSize() |
(package private) int |
getLoopChanges() |
(package private) int |
getLoopRuns() |
(package private) int |
getRuns() |
int |
getRuntime() |
int |
getSize() |
com.google.common.collect.ImmutableMap<java.lang.String,PerformanceTracker.Stats> |
getStats() |
void |
outputTracerReport(java.io.PrintStream pstr)
Prints a summary, which contains aggregate stats for all runs of each pass
and a log, which contains stats for each individual run.
|
(package private) void |
recordPassStart(java.lang.String passName,
boolean isOneTime) |
(package private) void |
recordPassStop(java.lang.String passName,
long runtime)
Collects information about a pass P after P finishes running, eg, how much
time P took and what was its impact on code size.
|
boolean |
tracksGzSize() |
boolean |
tracksSize() |
private static final int DEFAULT_WHEN_SIZE_UNTRACKED
private final Node jsRoot
private final boolean trackSize
private final boolean trackGzSize
private final RecentChange codeChange
private int initCodeSize
private int initGzCodeSize
private int runtime
private int runs
private int changes
private int loopRuns
private int loopChanges
private int codeSize
private int gzCodeSize
private int diff
private int gzDiff
private final java.util.Deque<PerformanceTracker.Stats> currentPass
private final java.util.Map<java.lang.String,PerformanceTracker.Stats> summary
private com.google.common.collect.ImmutableMap<java.lang.String,PerformanceTracker.Stats> summaryCopy
private final java.util.List<PerformanceTracker.Stats> log
PerformanceTracker(Node jsRoot, CompilerOptions.TracerMode mode)
CodeChangeHandler getCodeChangeHandler()
void recordPassStart(java.lang.String passName, boolean isOneTime)
void recordPassStop(java.lang.String passName, long runtime)
passName
- short name of the passruntime
- execution time in millisecondspublic boolean tracksSize()
public boolean tracksGzSize()
public int getRuntime()
public int getSize()
public int getGzSize()
int getChanges()
int getLoopChanges()
int getRuns()
int getLoopRuns()
public com.google.common.collect.ImmutableMap<java.lang.String,PerformanceTracker.Stats> getStats()
private void calcTotalStats()
public void outputTracerReport(java.io.PrintStream pstr)