diff --git a/.classpath b/.classpath index 590bff16ced8c40eea7a0c1b219681773272f8d3..5634d6545ad8c6fefdea1b5531c9f438391cfa85 100644 --- a/.classpath +++ b/.classpath @@ -13,12 +13,12 @@ </attributes> </classpathentry> <classpathentry kind="src" path="src/performancetest/java"/> - <classpathentry exported="true" kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> + <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <attributes> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> - <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"> <attributes> <attribute name="maven.pomderived" value="true"/> </attributes> diff --git a/.settings/edu.umd.cs.findbugs.core.prefs b/.settings/edu.umd.cs.findbugs.core.prefs index e5f34a95b931b620596d99208ceb8bd6c0647e1c..9b2470c30687f478efc20f8c572cc798a4fb8a6a 100644 --- a/.settings/edu.umd.cs.findbugs.core.prefs +++ b/.settings/edu.umd.cs.findbugs.core.prefs @@ -1,5 +1,5 @@ #FindBugs User Preferences -#Tue Apr 14 12:04:32 CEST 2015 +#Thu Apr 16 10:55:19 CEST 2015 detector_threshold=3 effort=max excludefilter0=.fbExcludeFilterFile|true diff --git a/pom.xml b/pom.xml index 5b5ba50e6b9f5b5a6a5391d83e636900202a2563..088f1e75c0e76108700605f74d5d70c8f55e12e1 100644 --- a/pom.xml +++ b/pom.xml @@ -73,6 +73,13 @@ <url>https://build.se.informatik.uni-kiel.de/jenkins/view/TeeTime/</url> </ciManagement> + <repositories> + <repository> + <id>jitpack.io</id> + <url>https://jitpack.io</url> + </repository> + </repositories> + <dependencies> <dependency> <groupId>junit</groupId> @@ -108,11 +115,16 @@ <artifactId>guava</artifactId> <version>18.0</version> </dependency> + <!-- <dependency> --> + <!-- <groupId>org.jctools</groupId> --> + <!-- <artifactId>jctools-core</artifactId> --> + <!-- <version>1.0</version> --> + <!-- <version>1.1-SNAPSHOT</version> --> + <!-- </dependency> --> <dependency> - <groupId>org.jctools</groupId> - <artifactId>jctools-core</artifactId> - <version>1.0</version> - <!-- <version>1.1-SNAPSHOT</version> --> + <groupId>com.github.JCTools</groupId> + <artifactId>JCTools</artifactId> + <version>3e1afaa505</version> <!-- SNAPSHOT master version --> </dependency> <dependency> diff --git a/src/main/java/org/jctools/queues/ObservableSpScArrayQueue.java b/src/main/java/org/jctools/queues/ObservableSpScArrayQueue.java index 922c6acfa6309b3d7fffcb15ae698b439eb5547c..c4c735635d5d0da4e2ff71c4c603b37b0ef2d54e 100644 --- a/src/main/java/org/jctools/queues/ObservableSpScArrayQueue.java +++ b/src/main/java/org/jctools/queues/ObservableSpScArrayQueue.java @@ -15,148 +15,34 @@ */ package org.jctools.queues; -import java.util.Collection; -import java.util.Iterator; -import java.util.Queue; - -public final class ObservableSpScArrayQueue<E> implements Queue<E> { - - private final SpscArrayQueue<E> queue; +public final class ObservableSpScArrayQueue<E> extends SpscArrayQueue<E> { private transient long lastProducerIndex, lastConsumerIndex; - public ObservableSpScArrayQueue(final int requestedCapacity) { - this.queue = new SpscArrayQueue<E>(requestedCapacity); + public ObservableSpScArrayQueue(final int capacity) { + super(capacity); } public long getNumPushes() { - return queue.lvProducerIndex(); + return currentProducerIndex(); } public long getNumPulls() { - return queue.lvConsumerIndex(); + return currentConsumerIndex(); } public long getProducerFrequency() { - final long currentProducerIndex = queue.lvProducerIndex(); + final long currentProducerIndex = getNumPushes(); long diff = currentProducerIndex - lastProducerIndex; lastProducerIndex = currentProducerIndex; return diff; } public long getConsumerFrequency() { - final long currentConsumerIndex = queue.lvConsumerIndex(); + final long currentConsumerIndex = getNumPulls(); long diff = currentConsumerIndex - lastConsumerIndex; lastConsumerIndex = currentConsumerIndex; return diff; } - @Override - public int hashCode() { - return queue.hashCode(); - } - - @Override - public boolean add(final E e) { - return queue.add(e); - } - - @Override - public boolean isEmpty() { - return queue.isEmpty(); - } - - @Override - public boolean contains(final Object o) { - return queue.contains(o); - } - - @Override - public E remove() { - return queue.remove(); - } - - @Override - public Object[] toArray() { - return queue.toArray(); - } - - @Override - public boolean equals(final Object obj) { - if (obj instanceof ObservableSpScArrayQueue) { - return queue.equals(((ObservableSpScArrayQueue<?>) obj).queue); - } - return false; - } - - @Override - public E element() { - return queue.element(); - } - - @Override - public boolean offer(final E e) { - return queue.offer(e); - } - - @Override - public <T> T[] toArray(final T[] a) { - return queue.toArray(a); - } - - @Override - public boolean addAll(final Collection<? extends E> c) { - return queue.addAll(c); - } - - @Override - public E poll() { - return queue.poll(); - } - - @Override - public E peek() { - return queue.peek(); - } - - @Override - public int size() { - return queue.size(); - } - - @Override - public Iterator<E> iterator() { - return queue.iterator(); - } - - @Override - public void clear() { - queue.clear(); - } - - @Override - public boolean remove(final Object o) { - return queue.remove(o); - } - - @Override - public boolean containsAll(final Collection<?> c) { - return queue.containsAll(c); - } - - @Override - public boolean removeAll(final Collection<?> c) { - return queue.removeAll(c); - } - - @Override - public boolean retainAll(final Collection<?> c) { - return queue.retainAll(c); - } - - @Override - public String toString() { - return queue.toString(); - } - } diff --git a/src/test/java/teetime/framework/AnalysisTest.java b/src/test/java/teetime/framework/AnalysisTest.java index cbd9218bfc2dc6ba9517d8749533f314c3ab104f..24c3341b7329025189deeb112337b624399f3ba1 100644 --- a/src/test/java/teetime/framework/AnalysisTest.java +++ b/src/test/java/teetime/framework/AnalysisTest.java @@ -19,7 +19,7 @@ import teetime.util.StopWatch; public class AnalysisTest { private static final long DELAY_IN_MS = 500; - private static final long ABSOLUTE_MAX_ERROR_IN_MS = 1; + private static final long ABSOLUTE_MAX_ERROR_IN_MS = 2; private Analysis<TestConfig> analysis;