in drools-benchmarks-parent/drools-benchmarks/src/main/java/org/drools/benchmarks/throughput/ThroughputBenchmarkMain.java [32:73]
public static void main( String[] args ) {
AbstractEventTriggersAgendasFireUntilHaltBenchmark benchmark = oneTriggerOne ?
new EventTriggersOneAgendaFireUntilHaltBenchmark() :
new EventTriggersAllAgendasFireUntilHaltBenchmark();
benchmark.setupKieBase();
benchmark.setup();
benchmark.setupCounter();
if (DO_WARMUP) {
for ( int i = 0; i < WARMUP_INSERTS; i++ ) {
benchmark.insertEventBenchmark( null , null);
}
terminate( benchmark );
System.gc();
benchmark.setup();
benchmark.setupCounter();
}
long start = System.nanoTime();
long end = start + ( BENCHMARK_DURATION_IN_SECONDS * 1_000_000_000L );
int i = 0;
while (BENCHMARK_DURATION_IN_EVENTS < 0 || i < BENCHMARK_DURATION_IN_EVENTS) {
benchmark.insertEventBenchmark(null, null);
i++;
if (System.nanoTime() > end) {
break;
}
}
try {
Thread.sleep( 1000L );
} catch (InterruptedException e) {
throw new RuntimeException( e );
}
System.out.println("inserts = " + i);
System.out.println("firings = " + benchmark.getFiringsCount());
terminate( benchmark );
}