From 614a6c32dae6a7794fc90a36a8594cb0e5cac8dd Mon Sep 17 00:00:00 2001 From: Rafal Mucha <rafal.mucha@cern.ch> Date: Mon, 18 Mar 2024 15:36:29 +0100 Subject: [PATCH] NXCALS-7572 Add performance test --- .../performancetests/metadata/HierarchyTest.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/performance-tests/src/jmh/java/cern/nxcals/performancetests/metadata/HierarchyTest.java b/performance-tests/src/jmh/java/cern/nxcals/performancetests/metadata/HierarchyTest.java index ac1858d31c..ba74ad89db 100644 --- a/performance-tests/src/jmh/java/cern/nxcals/performancetests/metadata/HierarchyTest.java +++ b/performance-tests/src/jmh/java/cern/nxcals/performancetests/metadata/HierarchyTest.java @@ -33,8 +33,9 @@ public class HierarchyTest extends AbstractPerformanceTest { private Set<Hierarchy> parents; private Set<Hierarchy> leafs; private Set<Long> variableIds; + private long variableIdWithHierarchies; - @Setup() + @Setup public void createHierarchies() { SystemSpec system = systemService.findByName(CMW).orElseThrow(); parents = createParents(10, "HierarchyTest_Read_", system); @@ -42,6 +43,10 @@ public class HierarchyTest extends AbstractPerformanceTest { Set<Variable> variables = createVariables(NUMBER_OF_VARIABLES, system); assertEquals(NUMBER_OF_VARIABLES, variables.size()); variableIds = variables.stream().map(Variable::getId).collect(Collectors.toSet()); + variableIdWithHierarchies = variableIds.stream().findFirst().get(); + for (Hierarchy hierarchy : leafs) { + hierarchyService.addVariables(hierarchy.getId(), Set.of(variableIdWithHierarchies)); + } } @BenchmarkThreshold(threshold = 10) @@ -76,13 +81,19 @@ public class HierarchyTest extends AbstractPerformanceTest { @BenchmarkThreshold(threshold = 10) @Benchmark public void shouldAttachMoreThan1kVariablesToHierarchy() { - // create parents + // find any hierarchy Hierarchy hierarchy = parents.stream().findFirst().get(); // update hierarchyService.addVariables(hierarchy.getId(), variableIds); } + @BenchmarkThreshold(threshold = 10) + @Benchmark + public void shouldGetAllHierarchiesForVariable(Blackhole blackhole) { + blackhole.consume(hierarchyService.getHierarchiesForVariable(variableIdWithHierarchies)); + } + @BenchmarkThreshold(threshold = 0.1) @Benchmark public void shouldFindMoreThan1kHierarchiesById(Blackhole blackhole) { -- GitLab