From 92d9116dfff9898279adcaef529301136f5e8177 Mon Sep 17 00:00:00 2001 From: ToineSiebelink Date: Tue, 20 Dec 2022 11:32:26 +0000 Subject: 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 --- .../org/onap/cps/cpspath/parser/CpsPathUtilSpec.groovy | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'cps-path-parser/src/test') 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 31c1ed4a3a..662e42b6b2 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 + } } -- cgit 1.2.3-korg