Oh, you underestimate the coupling of this code. Yes, there are packages, but 
the classes in those packages reference one another willy-nilly. It's not a 
problem with recompiling - it's that there don't appear to be any good, 
sensible subset of classes in this group of 10,000 or so which can be compiled 
on their own. This set of 4000 appears to be the minimum of what's left. 

And worse, it appears that we published the main classes responsible for doing 
the coupling - and our customers use them in their own scripts.

The architect responsible for this mess left the company ten years ago, shortly 
after putting it in place over the objections of most of the senior staff, and 
we haven't been able to remove it.

Russ 

On Jul 24, 2013, at 3:28 PM, Ron Wheeler <rwhee...@artifact-software.com> wrote:

> On 24/07/2013 12:35 PM, Russell Gold wrote:
>> I wish I could break it up. Among the problems with this code is the extreme 
>> bit of coupling. The scripts list 300 files to compile because that's all 
>> that we would have wanted, but they pull in other files, which pull in yet 
>> others. Trying to compile this fairly small subsystem winds up building 
>> about a third of the entire project.
> Pulling in classes does not mean recompiling them.
> Once you have compiled the dependencies and aggregate them into jars, they 
> can be referenced without recompiling them.
> This will speed things up tremendously.
> 
> Do you at least have packages to use as a starting point?
> 
> Ron
>> 
>> But I will definitely look at the options and see what I can learn from 
>> them; thanks for the suggestions.
>> 
>> Russ
>> 
>> On Jul 24, 2013, at 12:31 PM, Wayne Fay <wayne...@gmail.com> wrote:
>> 
>>>> The case I'm wondering about now is one where we have over 10,000
>>>> source files in a directory, and compile them bit-by-bit. One step 
>>>> specifies
>>>> about 300 files, and thanks to javac dependency logic, actually compiles
>>>> about 4000 files in ant.
>>> Is there any way you can break that into 10 projects with 1k files
>>> each, or 20 projects with 500 files each, etc? I have found dramatic
>>> improvements in (Java compiling) speed as a result of breaking huge
>>> projects like this into a series of much smaller projects with
>>> dependencies between the projects etc as needed.
>>> 
>>> Having said that, 20 seconds for 4k files sounds pretty quick! Sorry
>>> but I'm not sure how to explain the 20 sec vs 90 sec results you're
>>> experiencing. I'd check versions of everything and flags sent to
>>> compilers etc via -X.
>>> 
>>> Wayne
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
>>> For additional commands, e-mail: users-h...@maven.apache.org
>>> 
>> -----------------
>> Come read my webnovel, Take a Lemon <http://www.takealemon.com>,
>> and listen to the Misfile radio play 
>> <http://www.gold-family.us/audio/misfile.html>!
>> 
>> 
>> 
>> 
>> 
> 
> 
> -- 
> Ron Wheeler
> President
> Artifact Software Inc
> email: rwhee...@artifact-software.com
> skype: ronaldmwheeler
> phone: 866-970-2435, ext 102
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
> 

-----------------
Come read my webnovel, Take a Lemon <http://www.takealemon.com>, 
and listen to the Misfile radio play 
<http://www.gold-family.us/audio/misfile.html>!




Reply via email to