Mercurial > hg > truffle
changeset 18277:7b07043813b9
Truffle: implemented defer compilation statistics
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Thu, 06 Nov 2014 10:20:08 +0100 |
parents | 1f3ab088d958 |
children | f1a988d9213f |
files | graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/CompilationStatisticsListener.java |
diffstat | 1 files changed, 12 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/CompilationStatisticsListener.java Thu Nov 06 10:20:06 2014 +0100 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/debug/CompilationStatisticsListener.java Thu Nov 06 10:20:08 2014 +0100 @@ -49,6 +49,10 @@ private int dequeues; private int splits; + private final IntSummaryStatistics deferCompilations = new IntSummaryStatistics(); + private final LongSummaryStatistics timeToQueue = new LongSummaryStatistics(); + private final LongSummaryStatistics timeToCompilation = new LongSummaryStatistics(); + private final IntSummaryStatistics nodeCount = new IntSummaryStatistics(); private final IntSummaryStatistics nodeCountTrivial = new IntSummaryStatistics(); private final IntSummaryStatistics nodeCountNonTrivial = new IntSummaryStatistics(); @@ -104,6 +108,7 @@ if (firstCompilation == 0) { firstCompilation = System.nanoTime(); } + timeToQueue.accept(System.nanoTime() - target.getCompilationProfile().getTimestamp()); } @Override @@ -129,6 +134,9 @@ CompilationLocal local = new CompilationLocal(); local.compilationStarted = System.nanoTime(); compilationLocal.set(local); + + deferCompilations.accept(target.getCompilationProfile().getDeferedCount()); + timeToCompilation.accept(local.compilationStarted - target.getCompilationProfile().getTimestamp()); } @Override @@ -215,6 +223,10 @@ printStatistic("Queue Accuracy", 1.0 - dequeues / (double) queues); printStatistic("Compilation Utilization", compilationTime.getSum() / (double) (endTime - firstCompilation)); printStatistic("Remaining Compilation Queue", runtime.getQueuedCallTargets().size()); + printStatistic("Times defered until compilation", deferCompilations); + + printStatisticTime("Time to queue", timeToQueue); + printStatisticTime("Time to compilation", timeToCompilation); printStatisticTime("Compilation time", compilationTime); printStatisticTime(" Truffle Tier", compilationTimeTruffleTier);