marschall / memoryfilesystem

An in memory implementation of a JSR-203 file system
282 stars 36 forks source link

Improve MAVEN build Performance #132

Closed SilverSteven closed 1 year ago

SilverSteven commented 2 years ago

That report generation takes time, slowing down the overall build. Reports are definitely useful, but do you need them every time you run the build. We can conditionally disable generating test reports by setting <disableXmlReport>true<disableXmlReport>. If you need to generate reports, just add -DcloseTestReports=false to the end of mvn build command.

===================== If there are any inappropriate modifications in this PR, please give me a reply and I will change them.

marschall commented 2 years ago

Thank you for your interest in the project.

I'm trying to confirm the impact on the XML reports have on the build time. So far I'm unable to reproduce the issue. It is my understanding that by using -DdisableXmlReport=true I can manually disable the XML report generation.

My setup is

$mvn -v
Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537)
Maven home: /home/user/bin/maven/apache-maven-3.8.4
Java version: 17.0.1, vendor: Azul Systems, Inc., runtime: /home/user/bin/java/zulu17.30.15-ca-jdk17.0.1-linux_x64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.13.0-25-generic", arch: "amd64", family: "unix

Default build times and build times with -DdisableXmlReport=true are very similar

$mvn test
…
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  8.858 s
…
$mvn test -DdisableXmlReport=true
…
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  8.901 s
…

Can you provide additional information about your setup and the tests you ran? Do you maybe have a virus scanner on that slows down your machine?

SilverSteven commented 2 years ago

Hi @marschall , thanks for your reply! If you build with this modified pom.xml this PR showed, when we use mvn test it means not generating report.

$mvn test
…
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  8.858 s
…

If we want to get the report, mvn test -DcloseTestReports=false should be used

marschall commented 2 years ago

@xiayingfeng I struggle to reproduce the issue.

$mvn test

and

$mvn test -DdisableXmlReport=true

produce very similar runtimes. Can you provide yours? -DdisableXmlReport=true is the built-in property to disable the reports.

marschall commented 1 year ago

Closing because the underlying issue can not be reproduced.

Feel free to reopen once you have a reproducer.