[PATCH] Speedup gij/libjava loading on darwin

Andreas Tobler toa@pop.agri.ch
Sat Aug 20 06:49:00 GMT 2005


Geoffrey Keating wrote:
> Andrew Pinski <pinskia@physics.uc.edu> writes:
> 
> 
>>	* Makefile.am (extra_ldflags_libjava): New variable to
>>	substitute in.
>>	(LIBLINK): Add extra_ldflags_libjava to it.
>>	* configure.ac (extra_ldflags_libgfortran): Set for *-darwin* to
>>	"-Wl,-single_module".
> 
> 
> This is OK.

I'm not very happy with this patch. I already mentioned it to Andrew.
Here on tiger 10.4.2 the situation gets worse. See the figures below.
Would you agree to do this change only for darwin7*?

Index: configure.ac
===================================================================
RCS file: /cvs/gcc/gcc/libjava/configure.ac,v
retrieving revision 1.36
diff -u -r1.36 configure.ac
--- configure.ac        19 Aug 2005 05:14:11 -0000      1.36
+++ configure.ac        20 Aug 2005 06:45:40 -0000
@@ -670,7 +670,7 @@

  # extra LD Flags which are required for targets
  case "${host}" in
-  *-darwin*)
+  *-darwin7*)
      # on Darwin -single_module speeds up loading of the dynamic libraries.
      extra_ldflags_libjava=-Wl,-single_module
      ;;

Afaik, the dyld and co got rewritten in tiger and now we have a slow 
down. Maybe ld needs a rewrite too?


Here the figures :)

Regards,
Andreas

Target: powerpc-apple-darwin8.2.0
Configured with: /Volumes/export/gcc/gcc-cvs/gcc/configure
	   --prefix=/Volumes/export/gcc/gcc-cvs/testbin
	   --enable-java-awt=gtk,xlib --enable-gtk-cairo
  	   --disable-checking
	   --disable-multilib --enable-languages=c,c++,java
Thread model: posix
gcc version 4.1.0 20050819 (experimental)

-Wl,-single_module:
-------------------
Test Run By andreast on Fri Aug 19 15:51:56 2005
testcase testsuite/libjava.cni/cni.exp completed in 17 seconds
testcase testsuite/libjava.compile/compile.exp completed in 1017 seconds
testcase testsuite/libjava.jacks/jacks.exp completed in 1656 seconds
testcase testsuite/libjava.jar/jar.exp completed in 5 seconds
testcase testsuite/libjava.jni/jni.exp completed in 100 seconds
testcase testsuite/libjava.lang/lang.exp completed in 4362 seconds
testcase testsuite/libjava.loader/loader.exp completed in 16 seconds
testcase testsuite/libjava.mauve/mauve.exp completed in 8982 seconds
testcase testsuite/libjava.special/special.exp completed in 4 seconds
testcase testsuite/libjava.verify/verify.exp completed in 0 seconds
runtest completed at Fri Aug 19 20:21:18 2005

without -Wl,-single_module, same tree:
--------------------------------------
Test Run By andreast on Fri Aug 19 22:41:50 2005
testcase testsuite/libjava.cni/cni.exp completed in 10 seconds
testcase testsuite/libjava.compile/compile.exp completed in 601 seconds
testcase testsuite/libjava.jacks/jacks.exp completed in 1286 seconds
testcase testsuite/libjava.jar/jar.exp completed in 3 seconds
testcase testsuite/libjava.jni/jni.exp completed in 56 seconds
testcase testsuite/libjava.lang/lang.exp completed in 2811 seconds
testcase testsuite/libjava.loader/loader.exp completed in 9 seconds
testcase testsuite/libjava.mauve/mauve.exp completed in 5903 seconds
testcase testsuite/libjava.special/special.exp completed in 2 seconds
testcase testsuite/libjava.verify/verify.exp completed in 0 seconds
runtest completed at Sat Aug 20 01:39:57 2005




More information about the Java-patches mailing list