You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by vl...@apache.org on 2023/05/10 17:30:33 UTC
[jmeter] branch master updated: Speed up CPU-bound tests by skipping recoverRunningVersion for elements that are shared between threads (the ones that implement NoThreadClone (#5899)
This is an automated email from the ASF dual-hosted git repository.
vladimirsitnikov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jmeter.git
The following commit(s) were added to refs/heads/master by this push:
new bfd83d52a6 Speed up CPU-bound tests by skipping recoverRunningVersion for elements that are shared between threads (the ones that implement NoThreadClone (#5899)
bfd83d52a6 is described below
commit bfd83d52a67dd00ab5355171bdf0261e619169f1
Author: Vladimir Sitnikov <si...@gmail.com>
AuthorDate: Wed May 10 20:30:27 2023 +0300
Speed up CPU-bound tests by skipping recoverRunningVersion for elements that are shared between threads (the ones that implement NoThreadClone (#5899)
See https://github.com/apache/jmeter/issues/5875
---
.../java/org/apache/jmeter/testelement/AbstractTestElement.java | 6 ++++++
xdocs/changes.xml | 1 +
2 files changed, 7 insertions(+)
diff --git a/src/core/src/main/java/org/apache/jmeter/testelement/AbstractTestElement.java b/src/core/src/main/java/org/apache/jmeter/testelement/AbstractTestElement.java
index 59049988c0..697d5e8670 100644
--- a/src/core/src/main/java/org/apache/jmeter/testelement/AbstractTestElement.java
+++ b/src/core/src/main/java/org/apache/jmeter/testelement/AbstractTestElement.java
@@ -27,6 +27,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import org.apache.jmeter.engine.util.NoThreadClone;
import org.apache.jmeter.gui.Searchable;
import org.apache.jmeter.testelement.property.BooleanProperty;
import org.apache.jmeter.testelement.property.CollectionProperty;
@@ -502,6 +503,11 @@ public abstract class AbstractTestElement implements TestElement, Serializable,
*/
@Override
public void recoverRunningVersion() {
+ if (this instanceof NoThreadClone) {
+ // The element is shared between threads, so there's nothing to recover
+ // See https://github.com/apache/jmeter/issues/5875
+ return;
+ }
Iterator<Map.Entry<String, JMeterProperty>> iter = propMap.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry<String, JMeterProperty> entry = iter.next();
diff --git a/xdocs/changes.xml b/xdocs/changes.xml
index 936694aa6b..2c6ace3f66 100644
--- a/xdocs/changes.xml
+++ b/xdocs/changes.xml
@@ -99,6 +99,7 @@ Summary
<h3>General</h3>
<ul>
<li><pr>5792</pr>Add KeyStroke for start_no_timers (Start no pauses: CRTL+SHIFT+n)</li>
+ <li><pr>5899</pr>Speed up CPU-bound tests by skipping <code>recoverRunningVersion</code> for elements that are shared between threads (the ones that implement <code>NoThreadClone</code>)</li>
</ul>
<ch_section>Non-functional changes</ch_section>