From 74b6579f7a64656632980045eb254d963f0eecef Mon Sep 17 00:00:00 2001 From: Yauhenikapl Date: Mon, 21 Apr 2025 13:13:29 +0300 Subject: [PATCH 1/7] Performance Improvement --- .../esmf/aspectmodel/urn/AspectModelUrn.java | 60 +++++++++++++------ 1 file changed, 43 insertions(+), 17 deletions(-) diff --git a/core/esmf-aspect-model-urn/src/main/java/org/eclipse/esmf/aspectmodel/urn/AspectModelUrn.java b/core/esmf-aspect-model-urn/src/main/java/org/eclipse/esmf/aspectmodel/urn/AspectModelUrn.java index 33359c8e2..610121ef7 100644 --- a/core/esmf-aspect-model-urn/src/main/java/org/eclipse/esmf/aspectmodel/urn/AspectModelUrn.java +++ b/core/esmf-aspect-model-urn/src/main/java/org/eclipse/esmf/aspectmodel/urn/AspectModelUrn.java @@ -15,7 +15,7 @@ import java.net.URI; import java.net.URISyntaxException; -import java.text.MessageFormat; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; @@ -114,18 +114,7 @@ public static AspectModelUrn fromUrn( final String urn ) { public static AspectModelUrn fromUrn( final URI urn ) { checkNotEmpty( urn ); - final List urnParts; - if ( urn.toString().contains( "#" ) ) { - urnParts = ImmutableList.copyOf( urn.toString().split( "[:|#]" ) ); - } else { - final String[] parts = urn.toString().split( ":" ); - final ImmutableList.Builder builder = ImmutableList.builder(); - for ( final String part : parts ) { - builder.add( part ); - } - builder.add( "" ); - urnParts = builder.build(); - } + final List urnParts = getStrings( urn ); final int numberOfUrnParts = urnParts.size(); checkUrn( numberOfUrnParts >= 5, UrnSyntaxException.URN_IS_MISSING_SECTIONS_MESSAGE ); @@ -152,6 +141,29 @@ public static AspectModelUrn fromUrn( final URI urn ) { return new AspectModelUrn( urn, elementName, namespace, elementType, version, isSammUrn ); } + private static List getStrings( final URI urn ) { + final List urnParts; + if ( urn.toString().contains( "#" ) ) { + final String urnStr = urn.toString(); + final String[] baseAndFragment = urnStr.split( "#", 2 ); // [0]=before #, [1]=after # + final String[] parts = baseAndFragment[0].split( ":", -1 ); // base parts of URN + + urnParts = new ArrayList<>( Arrays.asList( parts ) ); + if ( baseAndFragment.length == 2 ) { + urnParts.add( baseAndFragment[1] ); + } + } else { + final String[] parts = urn.toString().split( ":" ); + final ImmutableList.Builder builder = ImmutableList.builder(); + for ( final String part : parts ) { + builder.add( part ); + } + builder.add( "" ); + urnParts = builder.build(); + } + return urnParts; + } + /** * Checked version of {@link #fromUrn(String)} * @@ -294,6 +306,7 @@ private static boolean isSammUrn( final URI urn, final List urnParts, final String regex = ".*\\b" + elementType.getValue() + ":\\b.*\\b#\\b.*"; return urn.toString().matches( regex ); + // return urnParts.get(ELEMENT_TYPE_INDEX).equalsIgnoreCase(elementType.getValue()); } private static void checkElementName( final String modelElementName, final String elementTypeForErrorMessage ) { @@ -395,14 +408,27 @@ public AspectModelUrn withName( final String name ) { * @param errorMessage the exception message to use if the check is successful * @throws UrnSyntaxException if {@code expression} is false */ - private static void checkUrn( final boolean expression, final String errorMessage, - final Object... errorMessageArguments ) { - final String formattedErrorMessage = MessageFormat.format( errorMessage, errorMessageArguments ); + private static void checkUrn( final boolean expression, final String errorMessage, final Object... errorMessageArguments ) { if ( !expression ) { - throw new UrnSyntaxException( formattedErrorMessage ); + String msg = formatSimple( errorMessage, errorMessageArguments ); + throw new UrnSyntaxException( msg ); } } + private static String formatSimple( String pattern, final Object... args ) { + for ( int i = 0; i < args.length; i++ ) { + pattern = pattern.replace( "{" + i + "}", String.valueOf( args[i] ) ); + } + return pattern; + } + + // private static void checkUrn(final boolean expression, final String errorMessage, final Object... errorMessageArguments) { + // if (!expression) { + // final String formattedErrorMessage = String.format(errorMessage, errorMessageArguments); + // throw new UrnSyntaxException(formattedErrorMessage); + // } + // } + @Override public String toString() { return urn.toString(); From 361027fbb673e985ba87dd6b45e3dfb93669e588 Mon Sep 17 00:00:00 2001 From: Yauhenikapl Date: Mon, 21 Apr 2025 13:15:46 +0300 Subject: [PATCH 2/7] Remove commented code --- .../org/eclipse/esmf/aspectmodel/urn/AspectModelUrn.java | 8 -------- 1 file changed, 8 deletions(-) diff --git a/core/esmf-aspect-model-urn/src/main/java/org/eclipse/esmf/aspectmodel/urn/AspectModelUrn.java b/core/esmf-aspect-model-urn/src/main/java/org/eclipse/esmf/aspectmodel/urn/AspectModelUrn.java index 610121ef7..ed3d2d82f 100644 --- a/core/esmf-aspect-model-urn/src/main/java/org/eclipse/esmf/aspectmodel/urn/AspectModelUrn.java +++ b/core/esmf-aspect-model-urn/src/main/java/org/eclipse/esmf/aspectmodel/urn/AspectModelUrn.java @@ -306,7 +306,6 @@ private static boolean isSammUrn( final URI urn, final List urnParts, final String regex = ".*\\b" + elementType.getValue() + ":\\b.*\\b#\\b.*"; return urn.toString().matches( regex ); - // return urnParts.get(ELEMENT_TYPE_INDEX).equalsIgnoreCase(elementType.getValue()); } private static void checkElementName( final String modelElementName, final String elementTypeForErrorMessage ) { @@ -422,13 +421,6 @@ private static String formatSimple( String pattern, final Object... args ) { return pattern; } - // private static void checkUrn(final boolean expression, final String errorMessage, final Object... errorMessageArguments) { - // if (!expression) { - // final String formattedErrorMessage = String.format(errorMessage, errorMessageArguments); - // throw new UrnSyntaxException(formattedErrorMessage); - // } - // } - @Override public String toString() { return urn.toString(); From 41705a72ae379055760118d2aeef6fdda23aaf0d Mon Sep 17 00:00:00 2001 From: Yauhenikapl Date: Mon, 28 Apr 2025 11:16:48 +0300 Subject: [PATCH 3/7] Add Performance tests --- .../java/performance/EsmfPerformanceTest.java | 262 ++++++++++++++++++ ...olutionStrategyWithDefaultModelSource.java | 31 +++ .../ResourceDefinitionNotFoundException.java | 7 + 3 files changed, 300 insertions(+) create mode 100644 core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/EsmfPerformanceTest.java create mode 100644 core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/ResolutionStrategyWithDefaultModelSource.java create mode 100644 core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/ResourceDefinitionNotFoundException.java diff --git a/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/EsmfPerformanceTest.java b/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/EsmfPerformanceTest.java new file mode 100644 index 000000000..3d6b6e41c --- /dev/null +++ b/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/EsmfPerformanceTest.java @@ -0,0 +1,262 @@ +package org.eclipse.esmf.aspectmodel.java.performance; + +import static org.assertj.core.api.AssertionsForClassTypes.assertThatCode; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.io.StringReader; +import java.net.URI; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import java.util.Set; +import java.util.stream.Collectors; + +import org.eclipse.esmf.aspectmodel.AspectModelFile; +import org.eclipse.esmf.aspectmodel.loader.AspectModelLoader; +import org.eclipse.esmf.aspectmodel.resolver.ResolutionStrategySupport; +import org.eclipse.esmf.aspectmodel.resolver.modelfile.DefaultAspectModelFile; +import org.eclipse.esmf.aspectmodel.urn.AspectModelUrn; +import org.eclipse.esmf.samm.KnownVersion; + +import org.apache.jena.rdf.model.Model; +import org.apache.jena.rdf.model.ModelFactory; +import org.apache.jena.rdf.model.ResIterator; +import org.apache.jena.rdf.model.Resource; +import org.apache.jena.rdf.model.ResourceFactory; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.Timeout; + +class EsmfPerformanceTest { + private static final int ITERATIONS = 10; + private static final List inputFiles210 = InlineModel.getModel( KnownVersion.SAMM_2_2_0.toVersionString() ); + private static final Collection urns210 = getUrns( inputFiles210 ); + private static final List inputFilesLatest = InlineModel.getModel( KnownVersion.getLatest().toVersionString() ); + private static final Collection urnsLatest = getUrns( inputFilesLatest ); + private static final long MAX_DURATION_MS = 800; + private static final long MAX_MEMORY_BYTES = 130L * 1024 * 1024; + + @Test + @Timeout( 90 ) + void testResolvingWithOldSammVersion() { + measurePerformance( "OldSammVersion", inputFiles210, urns210 ); + } + + @Test + @Timeout( 2 ) + void testResolvingWithLatestSammVersion() { + measurePerformance( "LatestSammVersion", inputFilesLatest, urnsLatest ); + } + + private static Set getUrns( final List listOfFiles ) { + return listOfFiles.stream().map( AspectModelFile::sourceModel ) + .map( Model::listSubjects ) + .map( ResIterator::toSet ) + .flatMap( Collection::stream ) + .filter( resource -> !resource.isAnon() ) + .map( urn -> AspectModelUrn.fromUrn( urn.getURI() ) ) + .collect( Collectors.toSet() ); + } + + static class InlineModel { + //just copied from performance tests - it is not mandatory to be in sync + private static final int ASPECTS = 10; + private static final int ENTITIES = 10; + private static final int PROPERTIES = 30; + private static final int CHARACTERISTICS = 30; + private static final int CONSTRAINTS = 10; + private static final int OPERATIONS = 30; + private static final int EVENTS = 10; + + static List getModel( final String samm ) { + + final List models = new ArrayList<>(); + + StringBuilder result = new StringBuilder(); + + String header = """ + @prefix : . + @prefix samm: . + @prefix samm-c: . + @prefix xsd: . + """.replace( "%samm", samm ); + result.append( header ); + + result.append( + """ + :TestAspect0 a samm:Aspect ; + samm:description "A test Aspect en"@en ; + samm:description "A test Aspect de"@de ; + samm:preferredName "TestAspect en"@en ; + samm:preferredName "TestAspect de"@de ; + samm:properties ( :testInteger0 ) ; + samm:operations ( :move0 ) ; + samm:events ( :event0 ) . + """ ); + + for ( int i = 0; i < PROPERTIES; i++ ) { + result.append( + """ + :testInteger%index + a samm:Property ; + samm:preferredName "testInteger en"@en ; + samm:preferredName "testInteger de"@de ; + samm:characteristic :IntegerTestCharacteristic0 . + """ + .replace( "%index", String.valueOf( i ) ) ); + } + + for ( int i = 0; i < ENTITIES; i++ ) { + result.append( + """ + :Entity%index a samm:Entity ; + samm:preferredName "Entity de"@en ; + samm:preferredName "Entity en"@de ; + samm:description "Entity that describes a result state from production of a processed part. en"@en ; + samm:description "Entity that describes a result state from production of a processed part. de"@de ; + samm:properties ( :testInteger0 ). + """ + .replace( "%index", String.valueOf( i ) ) ); + } + + for ( int i = 0; i < CHARACTERISTICS; i++ ) { + result.append( """ + :IntegerTestCharacteristic%index + a samm:Characteristic ; + samm:preferredName "IntegerTestCharacteristic en"@en ; + samm:preferredName "IntegerTestCharacteristic de"@de ; + samm:dataType xsd:nonNegativeInteger ; + samm-c:constraint :RangeConstraint0. + """ + .replace( "%index", String.valueOf( i ) ) ); + } + + for ( int i = 0; i < CONSTRAINTS; i++ ) { + result.append( + """ + :RangeConstraint%index a samm-c:RangeConstraint ; + samm:description "Limits the range of the individual numbers in the list from 5 to 10. en"@en ; + samm:description "Limits the range of the individual numbers in the list from 5 to 10. de"@de ; + samm-c:minValue "5"^^xsd:nonNegativeInteger ; + samm-c:maxValue "10"^^xsd:nonNegativeInteger . + """ + .replace( "%index", String.valueOf( i ) ) ); + } + + for ( int i = 0; i < OPERATIONS; i++ ) { + result.append( + """ + :move%index + a samm:Operation ; + samm:description "moves around en"@en ; + samm:description "moves around de"@de ; + samm:input () ; + samm:output :testInteger0 . + """ + .replace( "%index", String.valueOf( i ) ) ); + } + + for ( int i = 0; i < EVENTS; i++ ) { + result.append( + """ + :event%index + a samm:Event ; + samm:preferredName "event en"@en ; + samm:preferredName "event de"@de ; + samm:parameters ( :testInteger0 ) . + """ + .replace( "%index", String.valueOf( i ) ) ); + } + + models.add( + new DefaultAspectModelFile( + ModelFactory.createDefaultModel().read( new StringReader( result.toString() ), "", "TTL" ), + List.of(), + Optional.of( URI.create( "namespaceFile" + 0 ) ) ) + ); + + for ( int aspect = 1; aspect < ASPECTS; aspect++ ) { + + result = new StringBuilder(); + + header = """ + @prefix : . + @prefix samm: . + @prefix samm-c: . + @prefix xsd: . + """.replace( "%samm", samm ); + result.append( header ); + + result.append( + """ + :TestAspect%index a samm:Aspect ; + samm:description "A test Aspect en"@en ; + samm:description "A test Aspect de"@de ; + samm:preferredName "TestAspect en"@en ; + samm:preferredName "TestAspect de"@de ; + samm:properties ( :testInteger0 ) ; + samm:operations ( :move0 ) ; + samm:events ( :event0 ) . + """ + .replace( "%index", String.valueOf( aspect ) ) ); + + models.add( + new DefaultAspectModelFile( + ModelFactory.createDefaultModel().read( new StringReader( result.toString() ), "", "TTL" ), + List.of(), + Optional.of( URI.create( "namespaceFile" + aspect ) ) ) + ); + } + return models; + } + } + + public static class ResolutionStrategyBasedOnFiles implements ResolutionStrategyWithDefaultModelSource { + + private final List files; + + public ResolutionStrategyBasedOnFiles( final List files ) { + this.files = files; + } + + @Override + public AspectModelFile apply( final AspectModelUrn aspectModelUrn, final ResolutionStrategySupport support ) { + final Resource resource = ResourceFactory.createResource( aspectModelUrn.getUrn().toString() ); + final var probablyFile = files.stream().filter( file -> support.containsDefinition( file, aspectModelUrn ) ).findAny(); + if ( probablyFile.isEmpty() ) { + throw new ResourceDefinitionNotFoundException( getClass().getSimpleName(), resource.toString() ); + } + return probablyFile.get(); + } + } + + private void measurePerformance( final String testName, final List inputFiles, final Collection urns ) { + Runtime runtime = Runtime.getRuntime(); + + // Clean up before starting measurement + System.gc(); + long beforeUsedMem = runtime.totalMemory() - runtime.freeMemory(); + long startTime = System.nanoTime(); + + for ( int i = 0; i < ITERATIONS; i++ ) { + assertThatCode( () -> new AspectModelLoader( new ResolutionStrategyBasedOnFiles( inputFiles ) ).loadUrns( urns ) ) + .doesNotThrowAnyException(); + } + + long endTime = System.nanoTime(); + long afterUsedMem = runtime.totalMemory() - runtime.freeMemory(); + + long durationInMillis = (endTime - startTime) / 1_000_000; + long memoryUsedInBytes = afterUsedMem - beforeUsedMem; + + System.out.println( "\nPerformance Results for: " + testName ); + System.out.println( "Total time: " + durationInMillis + " ms for " + ITERATIONS + " iterations" ); + System.out.println( "Average time per iteration: " + (durationInMillis / ITERATIONS) + " ms" ); + System.out.println( "Memory allocated: " + memoryUsedInBytes / 1024 + " KB\n" ); + + assertTrue( durationInMillis <= MAX_DURATION_MS, + "Execution time exceeded the limit: " + durationInMillis + "ms > " + MAX_DURATION_MS + "ms" ); + assertTrue( memoryUsedInBytes <= MAX_MEMORY_BYTES, + "Memory usage exceeded the limit: " + (memoryUsedInBytes / 1024 / 1024) + "MB > " + (MAX_MEMORY_BYTES / 1024 / 1024) + "MB" ); + } +} diff --git a/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/ResolutionStrategyWithDefaultModelSource.java b/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/ResolutionStrategyWithDefaultModelSource.java new file mode 100644 index 000000000..07b99b821 --- /dev/null +++ b/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/ResolutionStrategyWithDefaultModelSource.java @@ -0,0 +1,31 @@ +package org.eclipse.esmf.aspectmodel.java.performance; + +import java.net.URI; +import java.util.stream.Stream; + +import org.eclipse.esmf.aspectmodel.AspectModelFile; +import org.eclipse.esmf.aspectmodel.resolver.ResolutionStrategy; +import org.eclipse.esmf.aspectmodel.urn.AspectModelUrn; + +public interface ResolutionStrategyWithDefaultModelSource extends ResolutionStrategy { + + @Override + public default Stream listContents() { + return Stream.empty(); + } + + @Override + default Stream listContentsForNamespace( final AspectModelUrn aspectModelUrn ) { + return Stream.empty(); + } + + @Override + default Stream loadContents() { + return Stream.empty(); + } + + @Override + default Stream loadContentsForNamespace( final AspectModelUrn aspectModelUrn ) { + return Stream.empty(); + } +} diff --git a/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/ResourceDefinitionNotFoundException.java b/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/ResourceDefinitionNotFoundException.java new file mode 100644 index 000000000..dbdd75ac1 --- /dev/null +++ b/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/ResourceDefinitionNotFoundException.java @@ -0,0 +1,7 @@ +package org.eclipse.esmf.aspectmodel.java.performance; + +public class ResourceDefinitionNotFoundException extends RuntimeException { + public ResourceDefinitionNotFoundException( final String strategyName, final String resource ) { + super( String.format( "%s: definition for %s not found", strategyName, resource ) ); + } +} From aba149f076504cb496a970de5cf3b9d0e58c80fe Mon Sep 17 00:00:00 2001 From: Yauhenikapl Date: Mon, 28 Apr 2025 11:25:18 +0300 Subject: [PATCH 4/7] Add Performance tests --- .../java/performance/EsmfPerformanceTest.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/EsmfPerformanceTest.java b/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/EsmfPerformanceTest.java index 3d6b6e41c..b27804f6d 100644 --- a/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/EsmfPerformanceTest.java +++ b/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/EsmfPerformanceTest.java @@ -29,23 +29,23 @@ class EsmfPerformanceTest { private static final int ITERATIONS = 10; - private static final List inputFiles210 = InlineModel.getModel( KnownVersion.SAMM_2_2_0.toVersionString() ); - private static final Collection urns210 = getUrns( inputFiles210 ); - private static final List inputFilesLatest = InlineModel.getModel( KnownVersion.getLatest().toVersionString() ); - private static final Collection urnsLatest = getUrns( inputFilesLatest ); + private static final List INPUT_FILES_2_1_0 = InlineModel.getModel( KnownVersion.SAMM_2_2_0.toVersionString() ); + private static final Collection URNS_2_1_0 = getUrns( INPUT_FILES_2_1_0 ); + private static final List INPUT_FILES_LATEST = InlineModel.getModel( KnownVersion.getLatest().toVersionString() ); + private static final Collection URNS_LATEST = getUrns( INPUT_FILES_LATEST ); private static final long MAX_DURATION_MS = 800; private static final long MAX_MEMORY_BYTES = 130L * 1024 * 1024; @Test @Timeout( 90 ) void testResolvingWithOldSammVersion() { - measurePerformance( "OldSammVersion", inputFiles210, urns210 ); + measurePerformance( "OldSammVersion", INPUT_FILES_2_1_0, URNS_2_1_0 ); } @Test @Timeout( 2 ) void testResolvingWithLatestSammVersion() { - measurePerformance( "LatestSammVersion", inputFilesLatest, urnsLatest ); + measurePerformance( "LatestSammVersion", INPUT_FILES_LATEST, URNS_LATEST ); } private static Set getUrns( final List listOfFiles ) { From 4d28fa31defbf867c3c889e2681fbe209f3f201b Mon Sep 17 00:00:00 2001 From: Yauhenikapl Date: Mon, 28 Apr 2025 11:50:16 +0300 Subject: [PATCH 5/7] Update Performance tests --- .../esmf/aspectmodel/java/performance/EsmfPerformanceTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/EsmfPerformanceTest.java b/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/EsmfPerformanceTest.java index b27804f6d..44e4ebcc9 100644 --- a/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/EsmfPerformanceTest.java +++ b/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/EsmfPerformanceTest.java @@ -33,7 +33,7 @@ class EsmfPerformanceTest { private static final Collection URNS_2_1_0 = getUrns( INPUT_FILES_2_1_0 ); private static final List INPUT_FILES_LATEST = InlineModel.getModel( KnownVersion.getLatest().toVersionString() ); private static final Collection URNS_LATEST = getUrns( INPUT_FILES_LATEST ); - private static final long MAX_DURATION_MS = 800; + private static final long MAX_DURATION_MS = 1000; private static final long MAX_MEMORY_BYTES = 130L * 1024 * 1024; @Test From e14ac8b6824092fc082cbb4f3d5d716e93240074 Mon Sep 17 00:00:00 2001 From: Yauhenikapl Date: Mon, 28 Apr 2025 12:28:35 +0300 Subject: [PATCH 6/7] Update Performance tests --- .../esmf/aspectmodel/java/performance/EsmfPerformanceTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/EsmfPerformanceTest.java b/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/EsmfPerformanceTest.java index 44e4ebcc9..5dca054bd 100644 --- a/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/EsmfPerformanceTest.java +++ b/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/EsmfPerformanceTest.java @@ -33,7 +33,7 @@ class EsmfPerformanceTest { private static final Collection URNS_2_1_0 = getUrns( INPUT_FILES_2_1_0 ); private static final List INPUT_FILES_LATEST = InlineModel.getModel( KnownVersion.getLatest().toVersionString() ); private static final Collection URNS_LATEST = getUrns( INPUT_FILES_LATEST ); - private static final long MAX_DURATION_MS = 1000; + private static final long MAX_DURATION_MS = 1300; private static final long MAX_MEMORY_BYTES = 130L * 1024 * 1024; @Test From 858d0de5eeb85afbbcb9c5c21f4e2464e9a4117d Mon Sep 17 00:00:00 2001 From: Yauhenikapl Date: Mon, 28 Apr 2025 12:39:46 +0300 Subject: [PATCH 7/7] Update Performance tests --- .../esmf/aspectmodel/java/performance/EsmfPerformanceTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/EsmfPerformanceTest.java b/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/EsmfPerformanceTest.java index 5dca054bd..37413c844 100644 --- a/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/EsmfPerformanceTest.java +++ b/core/esmf-aspect-model-java-generator/src/test/java/org/eclipse/esmf/aspectmodel/java/performance/EsmfPerformanceTest.java @@ -34,7 +34,7 @@ class EsmfPerformanceTest { private static final List INPUT_FILES_LATEST = InlineModel.getModel( KnownVersion.getLatest().toVersionString() ); private static final Collection URNS_LATEST = getUrns( INPUT_FILES_LATEST ); private static final long MAX_DURATION_MS = 1300; - private static final long MAX_MEMORY_BYTES = 130L * 1024 * 1024; + private static final long MAX_MEMORY_BYTES = 200L * 1024 * 1024; @Test @Timeout( 90 )