db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (Resolved) (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (DERBY-5474) Speed up message splitting in build
Date Mon, 24 Oct 2011 15:29:32 GMT

     [ https://issues.apache.org/jira/browse/DERBY-5474?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Knut Anders Hatlen resolved DERBY-5474.

       Resolution: Fixed
    Fix Version/s:

Thanks, Kristian and Bryan.

All regression tests passed with jars built with the patch.
Committed revision 1188163.

The machine where I saw that the 15 invocations of splitmessages took 30 seconds, was a four-year-old
laptop running Linux.

On various desktops running Solaris I've seen that it takes between 3 and 15 seconds, depending
on how powerful the machines are. When changing to fork=no, it's reduced to 0-2 seconds on
those machines.

So whereas it's cheaper on the more powerful machines, the cost is still not negligible, even
though there are just 15 processes to be started. Bryan, perhaps your experiment ran with
processes that were lighter and cheaper to fork than a JVM? Or maybe it was a multi-threaded
build system so that other threads could utilize the CPU while one thread was kept up waiting
for the forked process to fault in the runtime libraries, or whatever it is that's taking
> Speed up message splitting in build
> -----------------------------------
>                 Key: DERBY-5474
>                 URL: https://issues.apache.org/jira/browse/DERBY-5474
>             Project: Derby
>          Issue Type: Improvement
>          Components: Build tools
>    Affects Versions:
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>            Priority: Minor
>             Fix For:
>         Attachments: d5474.diff
> On a slow machine I sometimes use to build Derby, running the org.apache.derbyBuild.splitmessages
tool takes 30 seconds and accounts for 15% of the total time needed to run "ant -q buildsource"
(which builds the engine, the network server and the client, but not the tests or demos).
The tool is invoked 15 times, and each time a new Java process is started because the Ant
target has specified fork="yes". By changing it to run the splitmessages tool in the same
Java process as the one running Ant, the time is reduced to 3-4 seconds on the same machine.

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


View raw message