Bug 54268 - Improve CPU and memory usage

Factor out code
Bugzilla Id: 54268

git-svn-id: https://svn.apache.org/repos/asf/jmeter/trunk@1451929 13f79535-47bb-0310-9956-ffa450edef68

Former-commit-id: cb248782ed
This commit is contained in:
Philippe Mouawad 2013-03-02 19:48:59 +00:00
parent 33f03d24fb
commit 32b51d689e
2 changed files with 17 additions and 17 deletions

View File

@ -164,23 +164,7 @@ public class RegexExtractor extends AbstractScopedTestElement implements PostPro
} catch (MalformedCachePatternException e) { } catch (MalformedCachePatternException e) {
log.error("Error in pattern: " + regex); log.error("Error in pattern: " + regex);
} finally { } finally {
clearMatcherMemory(matcher, pattern); JMeterUtils.clearMatcherMemory(matcher, pattern);
}
}
/**
* Hack to make matcher clean the two internal buffers it keeps in memory which size is equivalent to
* the unzipped page size
* @param matcher {@link Perl5Matcher}
* @param pattern Pattern
*/
private final void clearMatcherMemory(Perl5Matcher matcher, Pattern pattern) {
try {
if(pattern != null) {
matcher.matches("", pattern); // $NON-NLS-1$
}
} catch (Exception e) {
// NOOP
} }
} }

View File

@ -1309,4 +1309,20 @@ public class JMeterUtils implements UnitTestManager {
System.gc(); System.gc();
System.runFinalization(); System.runFinalization();
} }
/**
* Hack to make matcher clean the two internal buffers it keeps in memory which size is equivalent to
* the unzipped page size
* @param matcher {@link Perl5Matcher}
* @param pattern Pattern
*/
public static final void clearMatcherMemory(Perl5Matcher matcher, Pattern pattern) {
try {
if(pattern != null) {
matcher.matches("", pattern); // $NON-NLS-1$
}
} catch (Exception e) {
// NOOP
}
}
} }