Hacker News new | ask | show | jobs
by igouy 547 days ago
> and divide by the count

Which gives an average rather than a time?

1 comments

I usually do a

var innerCount = 2000; // should run about 2 seconds for (var i=0; i<1000; i++) { var start = currentMillis(); for (var j=0; j<innerCount; j++) { benchmark method(); } best = min(best, (currentMillis() - start) / (double) innerCount); }

That way I can both get enough precision form the millisecond resolution and run the whole thing enough times to get the best result without JIT/GC pauses. The result is usually very stable, even when benchmarking calls to database (running locally).

That’s great!

My point was to minimize stuff that will get JITed—like console functions. People don’t realize how much code is in there that is not native.

No interest in a more general tool?

https://github.com/sosy-lab/benchexec