From: ToineSiebelink Date: Tue, 20 Dec 2022 11:32:26 +0000 (+0000) Subject: Check preformance impacts X-Git-Tag: 3.2.1~37 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=92d9116dfff9898279adcaef529301136f5e8177;p=cps.git Check preformance impacts -Added a basic perf. test to process 200K CPS paths using parser Issue-ID: CPS-1409 Signed-off-by: ToineSiebelink Change-Id: Ibf8aed53506d28ba08f7166a44bd6fe9aefa5952 --- diff --git a/cps-path-parser/src/test/groovy/org/onap/cps/cpspath/parser/CpsPathUtilSpec.groovy b/cps-path-parser/src/test/groovy/org/onap/cps/cpspath/parser/CpsPathUtilSpec.groovy index 31c1ed4a3..662e42b6b 100644 --- a/cps-path-parser/src/test/groovy/org/onap/cps/cpspath/parser/CpsPathUtilSpec.groovy +++ b/cps-path-parser/src/test/groovy/org/onap/cps/cpspath/parser/CpsPathUtilSpec.groovy @@ -20,6 +20,7 @@ package org.onap.cps.cpspath.parser +import org.springframework.util.StopWatch import spock.lang.Specification class CpsPathUtilSpec extends Specification { @@ -71,4 +72,17 @@ class CpsPathUtilSpec extends Specification { thrown(PathParsingException) } + def 'CPS Path Processing Performance Test.'() { + when: '200,000 paths are processed' + def setupStopWatch = new StopWatch() + setupStopWatch.start() + (1..100000).each { + CpsPathUtil.getNormalizedXpath('/long/path/to/see/if/it/adds/paring/time/significantly/parent/child[@common-leaf-name="123"]') + CpsPathUtil.getNormalizedXpath('//child[@other-leaf=1]/leaf-name[text()="search"]/ancestor::parent') + } + setupStopWatch.stop() + then: 'it takes less then 10,000 milliseconds' + // In CI this actually takes about 3-5 sec which is approx. 50+ parser executions per millisecond! + assert setupStopWatch.getTotalTimeMillis() < 10000 + } }