Package org.openjdk.jmh.runner
Class InfraControl
- java.lang.Object
-
- org.openjdk.jmh.runner.InfraControl
-
public class InfraControl extends java.lang.ObjectThe InfraControl logic class. This is the rendezvous class for benchmark handler and JMH.
-
-
Field Summary
Fields Modifier and Type Field Description BenchmarkParamsbenchmarkParamsbooleanisDoneFlag that checks for time expiration.booleanisFailingFlag that checks for failure experienced by any measurement thread.IterationParamsiterationParamsbooleanlastIterationControlnotifyControljava.util.concurrent.CountDownLatchpreSetupjava.util.concurrent.CountDownLatchpreTearDownbooleanvolatileSpoilerjava.util.concurrent.CountDownLatchwarmdownDonebooleanwarmdownShouldWaitjava.util.concurrent.atomic.AtomicIntegerwarmdownVisitedjava.util.concurrent.CountDownLatchwarmupDonebooleanwarmupShouldWaitjava.util.concurrent.atomic.AtomicIntegerwarmupVisited
-
Constructor Summary
Constructors Constructor Description InfraControl(BenchmarkParams benchmarkParams, IterationParams iterationParams, java.util.concurrent.CountDownLatch preSetup, java.util.concurrent.CountDownLatch preTearDown, boolean lastIteration, Control notifyControl)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidannounceDone()voidannounceWarmdownReady()voidannounceWarmupReady()voidawaitWarmdownReady()voidawaitWarmupReady()longgetDuration()longgetDuration(java.util.concurrent.TimeUnit unit)java.lang.StringgetParam(java.lang.String name)booleanisLastIteration()voidpreSetup()voidpreSetupForce()voidpreTearDown()voidpreTearDownForce()
-
-
-
Field Detail
-
isDone
public volatile boolean isDone
Flag that checks for time expiration. This is specifically the public field, so to spare one virtual call.
-
isFailing
public volatile boolean isFailing
Flag that checks for failure experienced by any measurement thread. This is specifically the public field, so to spare one virtual call.
-
volatileSpoiler
public volatile boolean volatileSpoiler
-
preSetup
public final java.util.concurrent.CountDownLatch preSetup
-
preTearDown
public final java.util.concurrent.CountDownLatch preTearDown
-
lastIteration
public final boolean lastIteration
-
warmupVisited
public final java.util.concurrent.atomic.AtomicInteger warmupVisited
-
warmdownVisited
public final java.util.concurrent.atomic.AtomicInteger warmdownVisited
-
warmupShouldWait
public volatile boolean warmupShouldWait
-
warmdownShouldWait
public volatile boolean warmdownShouldWait
-
warmupDone
public final java.util.concurrent.CountDownLatch warmupDone
-
warmdownDone
public final java.util.concurrent.CountDownLatch warmdownDone
-
benchmarkParams
public final BenchmarkParams benchmarkParams
-
iterationParams
public final IterationParams iterationParams
-
notifyControl
public final Control notifyControl
-
-
Constructor Detail
-
InfraControl
public InfraControl(BenchmarkParams benchmarkParams, IterationParams iterationParams, java.util.concurrent.CountDownLatch preSetup, java.util.concurrent.CountDownLatch preTearDown, boolean lastIteration, Control notifyControl)
-
-
Method Detail
-
getDuration
public long getDuration()
- Returns:
- requested loop duration in milliseconds.
-
getDuration
public long getDuration(java.util.concurrent.TimeUnit unit)
- Parameters:
unit- timeunit to use- Returns:
- requested loop duration in the requested unit.
-
preSetup
public void preSetup()
-
preTearDown
public void preTearDown() throws java.lang.InterruptedException- Throws:
java.lang.InterruptedException
-
preSetupForce
public void preSetupForce()
-
preTearDownForce
public void preTearDownForce()
-
isLastIteration
public boolean isLastIteration()
-
announceDone
public void announceDone()
-
announceWarmupReady
public void announceWarmupReady()
-
announceWarmdownReady
public void announceWarmdownReady()
-
awaitWarmupReady
public void awaitWarmupReady()
-
awaitWarmdownReady
public void awaitWarmdownReady()
-
getParam
public java.lang.String getParam(java.lang.String name)
-
-