Skip to content

Mandrel slower than corresponding GraalVM CE #288

@zakkak

Description

@zakkak

Description

Mandrel 21.2.0.0-Final appears to be slower than GraalVM 21.2.0 (311s vs 229s)

How To Reproduce

Steps to reproduce the behavior:

GRAALVM_HOME=/opt/jvms/mandrel-java11-21.2.0.0-Final ./mvnw -B --settings .github/mvn-settings.xml --fail-at-end  -DfailIfNoTests=false -Dnative -Dnative.surefire.skip -Dformat.skip -Dno-descriptor-tests -DskipDocs -Dquarkus.container-image.build=false -pl integration-tests/main verify
GRAALVM_HOME=/opt/jvms/graalvm-ce-java11-21.2.0 ./mvnw -B --settings .github/mvn-settings.xml --fail-at-end  -DfailIfNoTests=false -Dnative -Dnative.surefire.skip -Dformat.skip -Dno-descriptor-tests -DskipDocs -Dquarkus.container-image.build=false -pl integration-tests/main verify

Configuration:

  • OS: Fedora 34]
  • Architecture: AMD64
  • Mandrel version: 21.2.0.0-Final
  • JDK version: OpenJDK 11.0.12+7

Expected behavior

Compilation times should be similar.

Additional context

The output of the first command (Mandrel) is:

[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Building native image from /home/zakkak/code/quarkus/integration-tests/main/target/quarkus-integration-test-main-999-SNAPSHOT-native-image-source-jar/quarkus-integration-test-main-999-SNAPSHOT-runner.jar
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Running Quarkus native-image plugin on native-image 21.2.0.0-Final Mandrel Distribution (Java Version 11.0.12+7)
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildRunner] /opt/jvms/mandrel-java11-21.2.0.0-Final/bin/native-image -J-Dsun.nio.ch.maxUpdateArraySize=100 -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager -J-DCoordinatorEnvironmentBean.transactionStatusManagerEnable=false -J-Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize=true -J-Dvertx.logger-delegate-factory-class-name=io.quarkus.vertx.core.runtime.VertxLogDelegateFactory -J-Dvertx.disableDnsResolver=true -J-Dio.netty.leakDetection.level=DISABLED -J-Dio.netty.allocator.maxOrder=3 -J-Duser.language=en -J-Duser.country=IE -J-Dfile.encoding=UTF-8 -H:ReflectionConfigurationFiles=reflection-config.json -H:InitialCollectionPolicy=com.oracle.svm.core.genscavenge.CollectionPolicy\$BySpaceAndTime -H:+JNI -H:+AllowFoldMethods -H:FallbackThreshold=0 -H:+ReportExceptionStackTraces -H:+AddAllCharsets -H:EnableURLProtocols=http -H:NativeLinkerOption=-no-pie -H:-UseServiceLoaderFeature -H:+StackTrace -H:-ParseOnce quarkus-integration-test-main-999-SNAPSHOT-runner -jar quarkus-integration-test-main-999-SNAPSHOT-runner.jar
[quarkus-integration-test-main-999-SNAPSHOT-runner:177475]    classlist:  16,873.43 ms,  2.31 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:177475]        (cap):     548.36 ms,  3.25 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:177475]        setup:   3,408.61 ms,  3.25 GB
The bundle named: ContributorValidationMessages, has not been found. If the bundle is part of a module, verify the bundle name is a fully qualified class name. Otherwise verify the bundle path is accessible in the classpath.
The bundle named: ValidationMessages, has not been found. If the bundle is part of a module, verify the bundle name is a fully qualified class name. Otherwise verify the bundle path is accessible in the classpath.
The bundle named: messages, has not been found. If the bundle is part of a module, verify the bundle name is a fully qualified class name. Otherwise verify the bundle path is accessible in the classpath.
15:04:21,004 INFO  [org.hib.val.int.uti.Version] HV000001: Hibernate Validator 6.2.0.Final
15:04:21,181 INFO  [org.hib.Version] HHH000412: Hibernate ORM core version 5.6.0.Beta1
15:04:21,187 INFO  [org.hib.ann.com.Version] HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
15:04:21,232 INFO  [org.hib.dia.Dialect] HHH000400: Using dialect: org.hibernate.dialect.PostgreSQL95Dialect
15:04:21,319 INFO  [io.und.websockets] UT026003: Adding annotated server endpoint class io.quarkus.it.websocket.RecodingSocket for path /recoder
15:04:21,321 INFO  [io.und.websockets] UT026003: Adding annotated server endpoint class io.quarkus.it.websocket.WebSocketOpenEndpoint for path /wsopen
15:04:21,321 INFO  [io.und.websockets] UT026003: Adding annotated server endpoint class io.quarkus.it.websocket.EchoSocket for path /echo
15:04:21,322 INFO  [io.und.websockets] UT026004: Adding annotated client endpoint class io.quarkus.it.websocket.CodingClient
15:04:22,999 WARNING [org.apa.tik.par.PDFParser] J2KImageReader not loaded. JPEG2000 files will not be processed.
See https://pdfbox.apache.org/2.0/dependencies.html#jai-image-io
for optional dependencies.

15:04:23,007 WARNING [org.apa.tik.par.ocr.TesseractOCRParser] Tesseract OCR is installed and will be automatically applied to image files unless
you've excluded the TesseractOCRParser from the default parser.
Tesseract may dramatically slow down content extraction (TIKA-2359).
As of Tika 1.15 (and prior versions), Tesseract is automatically called.
In future versions of Tika, users may need to turn the TesseractOCRParser on via TikaConfig.
15:04:23,034 INFO  [io.und.websockets] UT026005: Adding programmatic server endpoint class io.quarkus.it.websocket.AddWebSocketHandler$WebSocketEndpoint for path /added-dynamic
15:05:12,280 INFO  [org.jbo.threads] JBoss Threads version 3.4.2.Final
[quarkus-integration-test-main-999-SNAPSHOT-runner:177475]     (clinit):   1,690.93 ms,  6.07 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:177475]   (typeflow):  62,559.09 ms,  6.07 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:177475]    (objects):  60,629.69 ms,  6.07 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:177475]   (features):   3,203.98 ms,  6.07 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:177475]     analysis: 131,736.20 ms,  6.07 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:177475]     universe:   5,593.85 ms,  6.07 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:177475]      (parse):  15,934.57 ms,  6.09 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:177475]     (inline):  18,287.54 ms,  6.18 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:177475]    (compile):  95,243.41 ms,  7.40 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:177475]      compile: 134,187.23 ms,  7.41 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:177475]        image:  16,202.11 ms,  7.52 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:177475]        write:   1,728.17 ms,  7.52 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:177475]      [total]: 311,351.87 ms,  7.52 GB

The output of the second command (GraalVM) is:

INFO] [io.quarkus.deployment.pkg.steps.JarResultBuildStep] Building native image source jar: /home/zakkak/code/quarkus/integration-tests/main/target/quarkus-integration-test-main-999-SNAPSHOT-native-image-source-jar/quarkus-integration-test-main-999-SNAPSHOT-runner.jar
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Building native image from /home/zakkak/code/quarkus/integration-tests/main/target/quarkus-integration-test-main-999-SNAPSHOT-native-image-source-jar/quarkus-integration-test-main-999-SNAPSHOT-runner.jar
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Running Quarkus native-image plugin on GraalVM 21.2.0 Java 11 CE (Java Version 11.0.12+6-jvmci-21.2-b08)
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildRunner] /opt/jvms/graalvm-ce-java11-21.2.0/bin/native-image -J-Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize=true -J-Dsun.nio.ch.maxUpdateArraySize=100 -J-DCoordinatorEnvironmentBean.transactionStatusManagerEnable=false -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager -J-Dvertx.logger-delegate-factory-class-name=io.quarkus.vertx.core.runtime.VertxLogDelegateFactory -J-Dvertx.disableDnsResolver=true -J-Dio.netty.leakDetection.level=DISABLED -J-Dio.netty.allocator.maxOrder=3 -J-Duser.language=en -J-Duser.country=IE -J-Dfile.encoding=UTF-8 -H:ReflectionConfigurationFiles=reflection-config.json -H:InitialCollectionPolicy=com.oracle.svm.core.genscavenge.CollectionPolicy\$BySpaceAndTime -H:+JNI -H:+AllowFoldMethods -H:FallbackThreshold=0 -H:+ReportExceptionStackTraces -H:+AddAllCharsets -H:EnableURLProtocols=http -H:NativeLinkerOption=-no-pie -H:-UseServiceLoaderFeature -H:+StackTrace -H:-ParseOnce quarkus-integration-test-main-999-SNAPSHOT-runner -jar quarkus-integration-test-main-999-SNAPSHOT-runner.jar
[quarkus-integration-test-main-999-SNAPSHOT-runner:178571]    classlist:  13,091.09 ms,  2.70 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:178571]        (cap):     474.16 ms,  2.70 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:178571]        setup:   3,509.55 ms,  2.70 GB
The bundle named: ContributorValidationMessages, has not been found. If the bundle is part of a module, verify the bundle name is a fully qualified class name. Otherwise verify the bundle path is accessible in the classpath.
The bundle named: ValidationMessages, has not been found. If the bundle is part of a module, verify the bundle name is a fully qualified class name. Otherwise verify the bundle path is accessible in the classpath.
The bundle named: messages, has not been found. If the bundle is part of a module, verify the bundle name is a fully qualified class name. Otherwise verify the bundle path is accessible in the classpath.
15:10:18,426 INFO  [org.hib.val.int.uti.Version] HV000001: Hibernate Validator 6.2.0.Final
15:10:18,619 INFO  [org.hib.Version] HHH000412: Hibernate ORM core version 5.6.0.Beta1
15:10:18,625 INFO  [org.hib.ann.com.Version] HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
15:10:18,669 INFO  [org.hib.dia.Dialect] HHH000400: Using dialect: org.hibernate.dialect.PostgreSQL95Dialect
15:10:18,761 INFO  [io.und.websockets] UT026003: Adding annotated server endpoint class io.quarkus.it.websocket.WebSocketOpenEndpoint for path /wsopen
15:10:18,763 INFO  [io.und.websockets] UT026004: Adding annotated client endpoint class io.quarkus.it.websocket.CodingClient
15:10:18,766 INFO  [io.und.websockets] UT026003: Adding annotated server endpoint class io.quarkus.it.websocket.RecodingSocket for path /recoder
15:10:18,767 INFO  [io.und.websockets] UT026003: Adding annotated server endpoint class io.quarkus.it.websocket.EchoSocket for path /echo
15:10:19,423 WARNING [org.apa.tik.par.PDFParser] J2KImageReader not loaded. JPEG2000 files will not be processed.
See https://pdfbox.apache.org/2.0/dependencies.html#jai-image-io
for optional dependencies.

15:10:19,431 WARNING [org.apa.tik.par.ocr.TesseractOCRParser] Tesseract OCR is installed and will be automatically applied to image files unless
you've excluded the TesseractOCRParser from the default parser.
Tesseract may dramatically slow down content extraction (TIKA-2359).
As of Tika 1.15 (and prior versions), Tesseract is automatically called.
In future versions of Tika, users may need to turn the TesseractOCRParser on via TikaConfig.
15:10:19,455 INFO  [io.und.websockets] UT026005: Adding programmatic server endpoint class io.quarkus.it.websocket.AddWebSocketHandler$WebSocketEndpoint for path /added-dynamic
15:10:52,782 INFO  [org.jbo.threads] JBoss Threads version 3.4.2.Final
[quarkus-integration-test-main-999-SNAPSHOT-runner:178571]     (clinit):   1,586.60 ms,  6.06 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:178571]   (typeflow):  45,695.57 ms,  6.06 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:178571]    (objects):  44,458.65 ms,  6.06 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:178571]   (features):   2,503.66 ms,  6.06 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:178571]     analysis:  97,672.51 ms,  6.06 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:178571]     universe:   4,290.03 ms,  6.06 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:178571]      (parse):  11,002.55 ms,  6.11 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:178571]     (inline):  15,538.43 ms,  6.67 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:178571]    (compile):  63,691.70 ms,  7.57 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:178571]      compile:  95,437.04 ms,  7.57 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:178571]        image:  12,573.18 ms,  7.69 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:178571]        write:   1,156.36 ms,  7.69 GB
[quarkus-integration-test-main-999-SNAPSHOT-runner:178571]      [total]: 229,302.43 ms,  7.69 GB

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions