You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2015/07/04 15:46:33 UTC
svn commit: r1689157 - in /jmeter/trunk:
src/components/org/apache/jmeter/timers/GaussianRandomTimer.java
src/components/org/apache/jmeter/timers/RandomTimer.java
src/components/org/apache/jmeter/timers/UniformRandomTimer.java
xdocs/changes.xml
Author: pmouawad
Date: Sat Jul 4 13:46:25 2015
New Revision: 1689157
URL: http://svn.apache.org/r1689157
Log:
Bug 58100 - Performance enhancements : Replace Random by ThreadLocalRandom
Bugzilla Id: 58100
Modified:
jmeter/trunk/src/components/org/apache/jmeter/timers/GaussianRandomTimer.java
jmeter/trunk/src/components/org/apache/jmeter/timers/RandomTimer.java
jmeter/trunk/src/components/org/apache/jmeter/timers/UniformRandomTimer.java
jmeter/trunk/xdocs/changes.xml
Modified: jmeter/trunk/src/components/org/apache/jmeter/timers/GaussianRandomTimer.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/timers/GaussianRandomTimer.java?rev=1689157&r1=1689156&r2=1689157&view=diff
==============================================================================
--- jmeter/trunk/src/components/org/apache/jmeter/timers/GaussianRandomTimer.java (original)
+++ jmeter/trunk/src/components/org/apache/jmeter/timers/GaussianRandomTimer.java Sat Jul 4 13:46:25 2015
@@ -29,11 +29,11 @@ import org.apache.jmeter.util.JMeterUtil
*
*/
public class GaussianRandomTimer extends RandomTimer implements Serializable {
- private static final long serialVersionUID = 240L;
+ private static final long serialVersionUID = 241L;
@Override
public long delay() {
- return (long) Math.abs((this.random.nextGaussian() * getRange()) + super.delay());
+ return (long) Math.abs((getRandom().nextGaussian() * getRange()) + super.delay());
}
@Override
Modified: jmeter/trunk/src/components/org/apache/jmeter/timers/RandomTimer.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/timers/RandomTimer.java?rev=1689157&r1=1689156&r2=1689157&view=diff
==============================================================================
--- jmeter/trunk/src/components/org/apache/jmeter/timers/RandomTimer.java (original)
+++ jmeter/trunk/src/components/org/apache/jmeter/timers/RandomTimer.java Sat Jul 4 13:46:25 2015
@@ -20,6 +20,7 @@ package org.apache.jmeter.timers;
import java.io.Serializable;
import java.util.Random;
+import java.util.concurrent.ThreadLocalRandom;
import org.apache.jmeter.testelement.property.DoubleProperty;
import org.apache.jmeter.testelement.property.StringProperty;
@@ -31,17 +32,14 @@ import org.apache.jmeter.testelement.pro
*
*/
public abstract class RandomTimer extends ConstantTimer implements Timer, Serializable {
- private static final long serialVersionUID = 240L;
+ private static final long serialVersionUID = 241L;
public static final String RANGE = "RandomTimer.range";
- protected final Random random;
-
/**
* No-arg constructor.
*/
public RandomTimer() {
- this.random = new Random();
}
/**
@@ -65,5 +63,11 @@ public abstract class RandomTimer extend
public double getRange() {
return this.getPropertyAsDouble(RANGE);
}
-
+
+ /**
+ * @return {@link Random} Thread local Random
+ */
+ protected Random getRandom() {
+ return ThreadLocalRandom.current();
+ }
}
Modified: jmeter/trunk/src/components/org/apache/jmeter/timers/UniformRandomTimer.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/timers/UniformRandomTimer.java?rev=1689157&r1=1689156&r2=1689157&view=diff
==============================================================================
--- jmeter/trunk/src/components/org/apache/jmeter/timers/UniformRandomTimer.java (original)
+++ jmeter/trunk/src/components/org/apache/jmeter/timers/UniformRandomTimer.java Sat Jul 4 13:46:25 2015
@@ -29,11 +29,11 @@ import org.apache.jmeter.util.JMeterUtil
*
*/
public class UniformRandomTimer extends RandomTimer implements Serializable {
- private static final long serialVersionUID = 240L;
+ private static final long serialVersionUID = 241L;
@Override
public long delay() {
- return (long) Math.abs((this.random.nextDouble() * getRange()) + super.delay());
+ return (long) Math.abs((getRandom().nextDouble() * getRange()) + super.delay());
}
@Override
Modified: jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1689157&r1=1689156&r2=1689157&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml (original)
+++ jmeter/trunk/xdocs/changes.xml Sat Jul 4 13:46:25 2015
@@ -69,6 +69,7 @@ Summary
<ch_section>Incompatible changes</ch_section>
<ul>
+ <li>In RandomTimer class, protected instance timer has been replaced by getTimer() protected method, this is related to <bugzilla>58100</bugzilla>. This may impact 3rd party plugins.</li>
</ul>
<!-- =================== Improvements =================== -->