In 1.4.0.0 the performGC was changed to performMinorGC
- Use
performMinorGC rather than performGC to update garbage collection
statistics. This improves the benchmark performance of fast functions on large
objects.
While that is true, it also "destroys" accuracy of a bit slower functions. In case when measure (which allocates relatively big Measure object on each iteration, and there are enough iterations, triggers a GC which must be major: that run is a massive outlier.
IMHO, it's simpler just to accept that GC have to be run, this is not right place to optimize for performance.
In 1.4.0.0 the
performGCwas changed toperformMinorGCWhile that is true, it also "destroys" accuracy of a bit slower functions. In case when
measure(which allocates relatively bigMeasureobject on each iteration, and there are enough iterations, triggers a GC which must be major: that run is a massive outlier.IMHO, it's simpler just to accept that GC have to be run, this is not right place to optimize for performance.