Issue 54692 - gcj specific speedup for helpcontent2 building
Summary: gcj specific speedup for helpcontent2 building
Status: CLOSED FIXED
Alias: None
Product: Build Tools
Classification: Code
Component: code (show other issues)
Version: 680m130
Hardware: All Linux, all
: P3 Trivial (vote)
Target Milestone: ---
Assignee: hjs
QA Contact: issues@tools
URL:
Keywords:
Depends on: 61278
Blocks:
  Show dependency tree
 
Reported: 2005-09-16 12:25 UTC by caolanm
Modified: 2013-08-07 15:34 UTC (History)
6 users (show)

See Also:
Issue Type: PATCH
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
patch, testing in progress (5.80 KB, patch)
2005-09-16 12:27 UTC, caolanm
no flags Details | Diff
updated to be aware of system db option (6.03 KB, patch)
2005-09-21 13:23 UTC, caolanm
no flags Details | Diff
lastest version (6.01 KB, patch)
2005-11-03 15:16 UTC, caolanm
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this issue.
Description caolanm 2005-09-16 12:25:05 UTC
using gcj and timing how long it takes for HelpLinkers to build just the sbasic
util/sbasic/makefile.mk

gcj with aot jars
start 11:09:00
end 12:11:31
-> 1:02:31

custom HelpLinker binary
start  10:48:00
end    11:06:55
-> 18:55
Comment 1 caolanm 2005-09-16 12:27:04 UTC
Created attachment 29600 [details]
patch, testing in progress
Comment 2 caolanm 2005-09-16 12:29:08 UTC
don't know how this will play with system-db yet
Comment 3 ivo.hinkelmann 2005-09-16 12:51:49 UTC
ihi cc'ed
Comment 4 caolanm 2005-09-16 16:20:12 UTC
FWIW my results for (a pile of languages) on same parallel build box for build
time from configure to start of install set creation and both builds with gcj are:

without a native HelpLinker binary, 3 hours 40 minutes, with HelpLinker binary
was 2 hours 45 minutes

That 2:45 is larger than it might "really" be as it includes recovery from issue
54708 where a portion of sc was build linearly.
Comment 5 caolanm 2005-09-21 13:23:50 UTC
Created attachment 29765 [details]
updated to be aware of system db option
Comment 6 caolanm 2005-11-03 15:16:32 UTC
Created attachment 31151 [details]
lastest version
Comment 7 bero 2006-03-07 17:52:48 UTC
Introduces issue #61278, but works perfectly and with a HUGE speedup after 
fixing that.
Comment 8 caolanm 2006-04-26 11:46:09 UTC
done in targetedaot
Comment 9 caolanm 2006-04-26 17:11:22 UTC
reopen for qaing
Comment 10 caolanm 2006-04-26 17:20:31 UTC
So heres what the idea is.

a) separate the concepts "gcj as compiler" from the "gcj" (aka GNU ClassPath)
JDK and seperate that from using gcj in it's role as "native binary creater"
(aka Ahead Of Time compilation AOT). This allows AOT to be used to create native
binaries/libraries from the bytecode output of other compilers, e.g. ecj as well
as gcj. In theory this would also allow native binaries to be made of jars
created with Sun Java, though your mileage might vary there depending on the bug
of the day, but someone with sun java can give it a try if they want.
b) rather than *always* create native binary libs from all jars as we do
currently when the java compiler is gcj we
b.1) default to doing nothing unless --enable-gcjaot is specified to configure
(i.e. JAVAAOTCOMPILER is set in the environment).
b.2) only create such AOT binaries for the java helpers used during the
build-time, i.e. HelpLinker and FCFGMerge. So an additional "AOTTARGET" target
achieves this.
Comment 11 caolanm 2006-04-26 17:20:54 UTC
done in "targetedaot"
Comment 12 hjs 2006-05-22 16:07:51 UTC
writing to solver is bad
Comment 13 hjs 2006-05-22 16:09:29 UTC
.
Comment 14 caolanm 2006-05-24 13:17:58 UTC
plan b
Comment 15 caolanm 2006-05-26 08:56:44 UTC
cmc->hjs: how about now. No direct writing into the solver. The filter changes
are rolled back so as to not conflict with the delivered xmlhelp stuff. filter
java-side speedups are irrelevent for me really, xsltproc is the way to go there.
Comment 16 caolanm 2006-05-26 08:57:25 UTC
rejigged
Comment 17 hjs 2006-05-30 12:52:34 UTC
can't we move the AOTTARGETN stuff from tg_jar.mk to xmlhelp and give it a
comment that the solver jar handling must be changed before
duplicating/centralizing?
just a small change to make me happy too ;)
Comment 18 caolanm 2006-06-12 10:34:01 UTC
how about now, moved into aottarget.mk locally in the xmlhelp dir which created
HelpLinker
Comment 19 sparcmoz 2006-06-12 11:05:57 UTC
In my system JAVAAOTCOMPILER is exported to the environment like
@JAVAAOTCOMPILER@ probably because single quotes ' instead of double quotes "
around @JAVAAOTCOMPILER@ in set_soenv.in
Comment 20 caolanm 2006-06-12 11:16:19 UTC
good catch, fixed
Comment 21 hjs 2006-06-12 16:34:15 UTC
.
Comment 22 hjs 2006-10-20 13:58:42 UTC
.