[ 
https://jira.codehaus.org/browse/MCOMPILER-170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=298000#comment-298000
 ] 

Falko Modler commented on MCOMPILER-170:
----------------------------------------

Thanks for the quick response/implementation!

I carried out some tests with 2.5-SNAPSHOT and 2.3.2. Project contains ~160 
modules and ~3600 java files. Built with {{mvn clean install}}.

Format: {{<total build time>, <compiler-plugin's proportion of the execution 
time of all plugins in percent> (<as before but in minutes>)}}
The last two figures have been recorded by a special maven build extension I 
wrote some time ago.

The results:

*Single-threaded build*

reuseSame
02:53, 75,4% (2:00)

reuseCreated
02:53, 75,5% (2:00)

alwaysNew
03:49, 81,7% (2:56)

2.3.2
03:45, 81,3% (2:52)


*Multi-threaded build (-T4)*

reuseSame
Errors as expected

reuseCreated
01:30, 74,1% (2:52)

alwaysNew
02:00, 82,3% (4:35)

2.3.2
01:57, 81,7% (4:27)


Just for the records: *-Dmaven.compiler.fork=true* with 2.5-SNAPSHOT

Single-threaded
04:20, 84,1% (3:26)

-T4
02:12, 84,0% (5:12)


As you can see, reuseCreated yields the same results for single-threaded builds 
as reuseSame while still maintaining backwards-compatibility for parallel 
builds.
So the question is: Do we really need reuseSame? If yes: Why? And in case 
reuseSame needs to stay, I'm very much in favor of having reuseCreated as the 
default.
                
> Regression: Compiler Plugin fails when building with multiple threads (-T...)
> -----------------------------------------------------------------------------
>
>                 Key: MCOMPILER-170
>                 URL: https://jira.codehaus.org/browse/MCOMPILER-170
>             Project: Maven 2.x Compiler Plugin
>          Issue Type: Bug
>    Affects Versions: 2.4
>         Environment: Windows 7 x64, JDK 1.6.0_31, Maven 3.0.4
>            Reporter: Falko Modler
>            Assignee: Olivier Lamy
>            Priority: Critical
>             Fix For: 2.5
>
>
> I just tried building my current project which is rather large and has many 
> sub-modules.
> With version 2.3.2 (and below) of the plugin I was able to build the whole 
> project with multiple threads, let's say:
> {{mvn clean compile -T4}}
> Version 2.4 fails with random errors when using this command line!
> Errors include missing closing brackets, "cannot find symbol" and so on. It's 
> also not always the same module where the errors occur.
> A single-threaded build with:
> {{mvn clean compile}}
> *completes just fine*!
> Unfortunately I cannot upload my project for copyright reasons.
> So for me it looks like a "classic" concurrency problem. Maybe side effect of 
> MCOMPILER-166?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to