[Java-gnome-developer] Re: Build time performance boosts
Brought to you by:
afcowie
From: Laurent M. <la...@ao...> - 2004-11-10 02:03:27
|
>>>>> "Andrew" == Andrew Cowie <an...@op...> writes: [...] Andrew> Now of course, we've pointed out... Andrew> (I thought `ant` had something to do with it, but of course, Andrew> that's just ant doing a single javac invocation. I stand Andrew> corrected) Ant also has tha ability to run java "in process" when you use Sun's JDK. So the overhead of an invocation is only paid once. Andrew> ...that javac actually has a lot of smarts in it - in fact, Andrew> you could hand javac nothing but your top level Main.java Andrew> and it would probably reach out and compile your entire Andrew> application. Andrew> [for a long time I didn't trust that, but then I noticed it Andrew> doing it for me and covering my ass when I'd in fact made a Andrew> Makefile mistake, so now I feel better about it!] [...] Andrew> I've attached the simple diff (and again, in patch form) Andrew> that shows the makefile differences. As I said, all it does Andrew> is loose the individual compile steps. Andrew> I'm not sure that this is a good idea, overall... Andrew> obviously, if you're hacking on the bindings then you don't Andrew> really want to wait even 4 minutes for a recompile. But If Andrew> you've already built it, and you're only working on the Java Andrew> side of things, then 1 minute isn't so bad for a full Andrew> rebuild [shit, you probably have to make install before you Andrew> test it anyway] Given my optimized includes, "make nativelib" does not win anything from your patch. So I would personnaly reject that part. Also you can easily win some time in the "rebuild one java class" case by using $? instead of $^ in the javac invocation. I've ended up making symlinks to my build dir so that I don't have to "sudo make install" every time I rebuild. Andrew> ...but 4 minutes beats the hell out of 18 minutes if you're Andrew> just an end user building the package for installation on Andrew> your system. Andrew> Food for thought. -- Laurent Martelli la...@ao... Java Aspect Components http://www.aopsys.com/ http://jac.objectweb.org |