Timing of traversal now starts at the start of the traversal, so the rate is reasonable right off the bat. For example, we now see: INFO 22:45:02,476 TraversalEngine - [TRAVERSAL STARTING]; INFO 22:45:32,484 TraversalEngine - [PROGRESS] Traversed to 2:50850686, processing 18,646 sites in 30.05 secs (1611.50 secs per 1M sites)
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4527 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
c305b41da4
commit
f9541b78d3
|
|
@ -118,8 +118,8 @@ public class HierarchicalMicroScheduler extends MicroScheduler implements Hierar
|
|||
if (!( walker instanceof TreeReducible ))
|
||||
throw new IllegalArgumentException("The GATK can currently run in parallel only with TreeReducible walkers");
|
||||
|
||||
traversalEngine.startTimers();
|
||||
ReduceTree reduceTree = new ReduceTree(this);
|
||||
|
||||
initializeWalker(walker);
|
||||
|
||||
for (Shard shard : shardStrategy)
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ public class LinearMicroScheduler extends MicroScheduler {
|
|||
* @param shardStrategy A strategy for sharding the data.
|
||||
*/
|
||||
public Object execute(Walker walker, ShardStrategy shardStrategy) {
|
||||
traversalEngine.startTimers();
|
||||
walker.initialize();
|
||||
Accumulator accumulator = Accumulator.create(engine,walker);
|
||||
|
||||
|
|
|
|||
|
|
@ -96,10 +96,15 @@ public abstract class TraversalEngine<M,T,WalkerType extends Walker<M,T>,Provide
|
|||
if (mustPrint || nRecords == 1 || nRecords % N_RECORDS_TO_PRINT == 0 || maxElapsedIntervalForPrinting(curTime)) {
|
||||
this.lastProgressPrintTime = curTime;
|
||||
final double secsPer1MReads = (elapsed * 1000000.0) / nRecords;
|
||||
if (loc != null)
|
||||
logger.info(String.format("[PROGRESS] Traversed to %s, processing %,d %s in %.2f secs (%.2f secs per 1M %s)", loc, nRecords, getTraversalType(), elapsed, secsPer1MReads, getTraversalType()));
|
||||
else
|
||||
logger.info(String.format("[PROGRESS] Traversed %,d %s in %.2f secs (%.2f secs per 1M %s)", nRecords, getTraversalType(), elapsed, secsPer1MReads, getTraversalType()));
|
||||
|
||||
if ( nRecords == 1 )
|
||||
logger.info("[INITIALIZATION COMPLETE; TRAVERSAL STARTING]");
|
||||
else {
|
||||
if (loc != null)
|
||||
logger.info(String.format("[PROGRESS] Traversed to %s, processing %,d %s in %.2f secs (%.2f secs per 1M %s)", loc, nRecords, getTraversalType(), elapsed, secsPer1MReads, getTraversalType()));
|
||||
else
|
||||
logger.info(String.format("[PROGRESS] Traversed %,d %s in %.2f secs (%.2f secs per 1M %s)", nRecords, getTraversalType(), elapsed, secsPer1MReads, getTraversalType()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -135,6 +140,12 @@ public abstract class TraversalEngine<M,T,WalkerType extends Walker<M,T>,Provide
|
|||
*/
|
||||
public void initialize(GenomeAnalysisEngine engine) {
|
||||
this.engine = engine;
|
||||
}
|
||||
|
||||
/**
|
||||
* Should be called to indicate that we're going to process records and the timer should start ticking
|
||||
*/
|
||||
public void startTimers() {
|
||||
lastProgressPrintTime = startTime = System.currentTimeMillis();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue