Michael Meyer wrote:
--- Steve Loughran <[EMAIL PROTECTED]> 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 ([EMAIL PROTECTED]) (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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to