ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Loughran <ste...@apache.org>
Subject Re: Ant build slower on two cores than on one core?
Date Mon, 10 Mar 2008 12:32:23 GMT
Michael Meyer wrote:
>>  --- Steve Loughran <stevel@apache.org> schrieb: 
>>> this is really interesting. I'd thought javac was
>>> unthreaded too, but 
>>> even so you'd expect file IO to work in the other
>>> CPU, so get a boost 
>>> from the second core.
>>>
>>> what happens when you try a different javac, like
>>> the eclipse one?
> 
> In order to rule out any pathologies in my ant build
> file or my source code, I benchmarked a compile run
> again, this time the compilation of the Ant 1.7.0
> source code.
> 
> Additionally, I have deinstalled the powernowd
> package, so the frequency of the cpu is not reduced
> when idle, rather all the time at 2.4 GHZ (Intel Core
> 2 Duo E6600).
> 
> Compile run this time with:
> 
> ant clean ; ant build ; ant clean ; sleep 10 ; time
> ant build
> 
> (This way, every file to be compiled and the jdk files
> are preloaded into memory, and before the timed ant
> build there is a wait period of 10 seconds so that the
> journal daemon from the ext3 file system can write all
> emitted byte code files (done every 5 seconds by
> default) before the actual compile run starts.) 
> 

-this is interesting stuff. Stick it up on a web page and I'll point to it.

At the same time, I dont know why it is happening. It does hint at 
something I've been seeing on my desktop though, in which builds in 
VMWare images (with a single CPU option) seem faster than the stuff on 
the main desktop.

1. I wonder if we are doing some kind of synchronisation on I/O that is 
causing us to take longer to acquire locks?

2. A good test would be to focus on javac and see if a .sh script to 
build the classes shows the same slowdown. if it does, its a javac 
problem. If it doesnt, its an ant problem.


> Results:
> ========
> Sun JDK 4:
> ----------
> 1 core:
> 	real	0m4.557s
> 	user	0m4.320s
> 	sys	0m0.192s
> 
> 2 cores:
> 	real	0m8.420s
> 	user	0m15.517s
> 	sys	0m0.408s
> 
> Sun JDK 5:
> ----------
> 1 core:
> 	real	0m4.534s
> 	user	0m4.300s
> 	sys	0m0.212s
> 
> 2 cores:
> 	real	0m8.439s
> 	user	0m15.645s
> 	sys	0m0.444s
> 
> Sun JDK 6:
> ----------
> 1 core:
> 	real	0m4.520s
> 	user	0m4.312s
> 	sys	0m0.176s
> 
> 2 cores:
> 	real	0m8.150s
> 	user	0m14.849s
> 	sys	0m0.400s
> 
> Sun JDK 7:
> ----------
> 1 core:
> 	real	0m4.551s
> 	user	0m4.292s
> 	sys	0m0.220s
> 
> 2 cores:
> 	real	0m8.700s
> 	user	0m15.269s
> 	sys	0m0.404s
> 
> IBM JDK 4:
> ----------
> 1 core:
> 	real	0m4.525s
> 	user	0m4.268s
> 	sys	0m0.216s
> 
> 2 cores:
> 	real	0m8.137s
> 	user	0m15.081s
> 	sys	0m0.380s
> 
> IBM JDK 5:
> ----------
> 1 core:
> 	real	0m4.525s
> 	user	0m4.292s
> 	sys	0m0.204s
> 
> 2 cores:
> 	real	0m8.457s
> 	user	0m15.649s
> 	sys	0m0.456s
> 
> IBM JDK 6:
> ----------
> 1 core:
> 	real	0m4.537s
> 	user	0m4.280s
> 	sys	0m0.236s
> 
> 2 cores:
> 	real	0m8.186s
> 	user	0m15.037s
> 	sys	0m0.368s
> 
> BEA JDK 4:
> ----------
> 1 core:
> 	real	0m4.507s
> 	user	0m4.260s
> 	sys	0m0.220s
> 
> 2 cores:
> 	real	0m7.944s
> 	user	0m14.673s
> 	sys	0m0.364s
> 
> BEA JDK 5:
> ----------
> 1 core:
> 	real	0m4.528s
> 	user	0m4.312s
> 	sys	0m0.180s
> 
> 2 cores:
> 	real	0m8.806s
> 	user	0m16.141s
> 	sys	0m0.392s
> 
> BEA JDK 6:
> ----------
> 1 core:
> 	real	0m4.569s
> 	user	0m4.336s
> 	sys	0m0.180s
> 
> 2 cores:
> 	real	0m8.646s
> 	user	0m15.953s
> 	sys	0m0.424s
> 
> Apache JDK 5:
> -------------
> 1 core:
> 	real	0m4.508s
> 	user	0m4.280s
> 	sys	0m0.208s
> 
> 2 cores:
> 	real	0m8.079s
> 	user	0m14.729s
> 	sys	0m0.296s
> 
> 
> 
> java -version output:
> =====================
> 
> Sun JDK 4:
> ----------
> java version "1.4.2_17"
> Java(TM) 2 Runtime Environment, Standard Edition
> (build 1.4.2_17-b06)
> Java HotSpot(TM) Client VM (build 1.4.2_17-b06, mixed
> mode)
> 
> Sun JDK 5:
> ----------
> java version "1.5.0_15"
> Java(TM) 2 Runtime Environment, Standard Edition
> (build 1.5.0_15-b04)
> Java HotSpot(TM) Client VM (build 1.5.0_15-b04, mixed
> mode, sharing)
> 
> Sun JDK 6:
> ----------
> java version "1.6.0_05"
> Java(TM) SE Runtime Environment (build 1.6.0_05-b13)
> Java HotSpot(TM) Client VM (build 10.0-b19, mixed
> mode, sharing)
> 
> Sun JDK 7:
> ----------
> java version "1.7.0-ea"
> Java(TM) SE Runtime Environment (build 1.7.0-ea-b24)
> Java HotSpot(TM) Client VM (build 12.0-b01, mixed
> mode, sharing)
> 
> IBM JDK 4:
> ----------
> java version "1.4.2"
> Java(TM) 2 Runtime Environment, Standard Edition
> (build 1.4.2)
> Classic VM (build 1.4.2, J2RE 1.4.2 IBM build
> cxia32142-20080122 (SR10) (JIT enabled: jitc))
> 
> IBM JDK 5:
> ----------
> java version "1.5.0"
> Java(TM) 2 Runtime Environment, Standard Edition
> (build pxi32devifx-20071025 (SR6b))
> IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 Linux
> x86-32 j9vmxi3223-20071005 (JIT enabled)
> J9VM - 20071004_14218_lHdSMR
> JIT  - 20070820_1846ifx1_r8
> GC   - 200708_10)
> JCL  - 20071025
> 
> IBM JDK 6:
> ----------
> java version "1.6.0"
> Java(TM) SE Runtime Environment (build
> pxi3260-20071123_01)
> IBM J9 VM (build 2.4, J2RE 1.6.0 IBM J9 2.4 Linux
> x86-32 jvmxi3260-20071121_15015 (JIT enabled)
> J9VM - 20071121_015015_lHdSMR
> JIT  - r9_20071121_1330
> GC   - 20071031_AA)
> JCL  - 20071118_01
> 
> BEA JDK 4:
> ----------
> java version "1.4.2_16"
> Java(TM) 2 Runtime Environment, Standard Edition
> (build 1.4.2_16-b05)
> BEA JRockit(R) (build
> R27.5.0-110-94909-1.4.2_16-20080204-1558-linux-ia32,
> compiled mode)
> 
> BEA JDK 5:
> ----------
> java version "1.5.0_14"
> Java(TM) 2 Runtime Environment, Standard Edition
> (build 1.5.0_14-b03)
> BEA JRockit(R) (build
> R27.5.0-110-94909-1.5.0_14-20080204-1558-linux-ia32,
> compiled mode)
> 
> BEA JDK 6:
> ----------
> java version "1.6.0_03"
> Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
> BEA JRockit(R) (build
> R27.5.0-110-94909-1.6.0_03-20080204-1558-linux-ia32,
> compiled mode)
> 
> Apache JDK 5:
> -------------
> Apache Harmony Launcher : (c) Copyright 1991, 2008 The
> Apache Software Foundation or its licensors, as
> applicable.
> java version "1.5.0" 
> pre-alpha : not complete or compatible
> svn = r629320, (Feb 20 2008), Linux/ia32/gcc 4.1.0,
> release build
> http://harmony.apache.org
> 
> 
> 
> Linux kernel:
> =============
> 32-Bit Linux Ubuntu 8.04
> 
> $ cat /proc/version
> Linux version 2.6.24-11-generic (buildd@rothera) (gcc
> version 4.2.3 (Ubuntu 4.2.3-2ubuntu1)) #1 SMP Fri Feb
> 29 22:08:31 UTC 2008
> 
> CPU:
> ====
> 
> 1 core:
> -------
> $ cat /proc/cpuinfo 
> processor	: 0
> vendor_id	: GenuineIntel
> cpu family	: 6
> model		: 15
> model name	: Intel(R) Core(TM)2 CPU          6600  @
> 2.40GHz
> stepping	: 6
> cpu MHz		: 2400.000
> cache size	: 4096 KB
> physical id	: 0
> siblings	: 1
> core id		: 0
> cpu cores	: 1
> fdiv_bug	: no
> hlt_bug		: no
> f00f_bug	: no
> coma_bug	: no
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 10
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep
> mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr
> sse sse2 ss ht tm pbe nx lm constant_tsc up
> arch_perfmon pebs bts pni monitor ds_cpl vmx est tm2
> ssse3 cx16 xtpr lahf_lm
> bogomips	: 4791.85
> clflush size	: 64
> 
> 
> 2 cores:
> --------
> $ cat /proc/cpuinfo 
> processor	: 0
> vendor_id	: GenuineIntel
> cpu family	: 6
> model		: 15
> model name	: Intel(R) Core(TM)2 CPU          6600  @
> 2.40GHz
> stepping	: 6
> cpu MHz		: 2394.048
> cache size	: 4096 KB
> physical id	: 0
> siblings	: 2
> core id		: 0
> cpu cores	: 2
> fdiv_bug	: no
> hlt_bug		: no
> f00f_bug	: no
> coma_bug	: no
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 10
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep
> mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr
> sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon
> pebs bts pni monitor ds_cpl vmx est tm2 ssse3 cx16
> xtpr lahf_lm
> bogomips	: 4791.86
> clflush size	: 64
> 
> processor	: 1
> vendor_id	: GenuineIntel
> cpu family	: 6
> model		: 15
> model name	: Intel(R) Core(TM)2 CPU          6600  @
> 2.40GHz
> stepping	: 6
> cpu MHz		: 2394.048
> cache size	: 4096 KB
> physical id	: 0
> siblings	: 2
> core id		: 1
> cpu cores	: 2
> fdiv_bug	: no
> hlt_bug		: no
> f00f_bug	: no
> coma_bug	: no
> fpu		: yes
> fpu_exception	: yes
> cpuid level	: 10
> wp		: yes
> flags		: fpu vme de pse tsc msr pae mce cx8 apic sep
> mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr
> sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon
> pebs bts pni monitor ds_cpl vmx est tm2 ssse3 cx16
> xtpr lahf_lm
> bogomips	: 4788.38
> clflush size	: 64
> 
> 
> Memory:
> =======
> $ cat /proc/meminfo 
> MemTotal:      3376164 kB
> MemFree:       3114832 kB
> Buffers:         10572 kB
> Cached:         188072 kB
> SwapCached:          0 kB
> Active:          90608 kB
> Inactive:       137084 kB
> HighTotal:     2490304 kB
> HighFree:      2257464 kB
> LowTotal:       885860 kB
> LowFree:        857368 kB
> SwapTotal:     8008328 kB
> SwapFree:      8008328 kB
> Dirty:              24 kB
> Writeback:           0 kB
> AnonPages:       29052 kB
> Mapped:          16404 kB
> Slab:            10948 kB
> SReclaimable:     5796 kB
> SUnreclaim:       5152 kB
> PageTables:        484 kB
> NFS_Unstable:        0 kB
> Bounce:              0 kB
> CommitLimit:   9696408 kB
> Committed_AS:   526160 kB
> VmallocTotal:   114680 kB
> VmallocUsed:     48960 kB
> VmallocChunk:    61428 kB
> 
> 
> Other Hardware:
> ===============
> $ lspci
> 00:00.0 Host bridge: Intel Corporation 82945G/GZ/P/PL
> Memory Controller Hub (rev 02)
> 00:01.0 PCI bridge: Intel Corporation 82945G/GZ/P/PL
> PCI Express Root Port (rev 02)
> 00:1b.0 Audio device: Intel Corporation 82801G (ICH7
> Family) High Definition Audio Controller (rev 01)
> 00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7
> Family) PCI Express Port 1 (rev 01)
> 00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7
> Family) PCI Express Port 2 (rev 01)
> 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7
> Family) USB UHCI Controller #1 (rev 01)
> 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7
> Family) USB UHCI Controller #2 (rev 01)
> 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7
> Family) USB UHCI Controller #3 (rev 01)
> 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7
> Family) USB UHCI Controller #4 (rev 01)
> 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7
> Family) USB2 EHCI Controller (rev 01)
> 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge
> (rev e1)
> 00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7
> Family) LPC Interface Bridge (rev 01)
> 00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH
> (ICH7 Family) SATA IDE Controller (rev 01)
> 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family)
> SMBus Controller (rev 01)
> 01:00.0 VGA compatible controller: nVidia Corporation
> GeForce 7100 GS (rev a1)
> 03:00.0 Ethernet controller: Realtek Semiconductor
> Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet
> controller (rev 01)
> 04:01.0 Ethernet controller: Realtek Semiconductor
> Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
> 
> 
> 
> 
>       Lesen Sie Ihre E-Mails auf dem Handy.
> www.yahoo.de/go
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
> For additional commands, e-mail: user-help@ant.apache.org
> 


-- 
Steve Loughran                  http://www.1060.org/blogxter/publish/5
Author: Ant in Action           http://antbook.org/

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message