From: John M. <joh...@ya...> - 2001-01-13 06:20:25
|
Why is math sooooooooo slow on HP versus Linux?? For the example below I calculate the time to calculate 2L**10000 on HP and Linux. It's over 2,000 faster on a Linux PC (512 MHz dual Celeron) than on a HP (K box, 4 processor, 180 MHz). This particular example is not critical to my application. I just focus on it because of the dramatic difference in performance on HP versus other platforms. Might this be a clue as to a problem with HP?? HP: $ jpython JPython 1.1+09 on java1.2.2.05 (JIT: null) Copyright (C) 1997-1999 Corporation for National Research Initiatives >>> from time import time >>> t1=time(); x=2L**10000; delay=time()-t1; print delay 86.5 <-- interpretted, very slow >>> $ jpython JPython 1.1+09 on java1.2.2.05 (JIT: HP) Copyright (C) 1997-1999 Corporation for National Research Initiatives >>> from time import time >>> t1=time(); x=2L**10000; delay=time()-t1; print delay 11.539999961853027 >>> t1=time(); x=2L**10000; delay=time()-t1; print delay 11.8 <-- classic JIT >>> $ jpython JPython 1.1+09 on java1.2.2.05 (JIT: null) Copyright (C) 1997-1999 Corporation for National Research Initiatives >>> from time import time >>> t1=time(); x=2L**10000; delay=time()-t1; print delay 14.9 <-- HotSpot JIT >>> $ ^C $ Linux 512 MHz dual Celeron (brain dead?) Pentium Linux: /home/mudd[1] jpython JPython 1.1 on java1.2.2-RC2 (JIT: javacomp) Copyright (C) 1997-1999 Corporation for National Research Initiatives >>> from time import time >>> t1=time(); x=2L**10000; delay=time()-t1; print delay 0.00499 <-- About 2,400 times faster than HP's best numbers??!? >>> Linux: /home/mudd[1] __________________________________________________ Do You Yahoo!? Get email at your own domain with Yahoo! Mail. http://personal.mail.yahoo.com/ |
From: <bc...@wo...> - 2001-01-13 12:35:33
|
On Fri, 12 Jan 2001 22:20:52 -0800 (PST), you wrote: >Why is math sooooooooo slow on HP versus Linux?? For the example below >I calculate the time to calculate 2L**10000 on HP and Linux. It's over >2,000 faster on a Linux PC (512 MHz dual Celeron) than on a HP (K box, >4 processor, 180 MHz). > >This particular example is not critical to my application. I just >focus on it because of the dramatic difference in performance on HP >versus other platforms. Might this be a clue as to a problem with HP?? > > >HP: > >JPython 1.1+09 on java1.2.2.05 (JIT: null) >86.5 <-- interpretted, very slow > >JPython 1.1+09 on java1.2.2.05 (JIT: HP) >11.8 <-- classic JIT > >JPython 1.1+09 on java1.2.2.05 (JIT: null) >14.9 <-- HotSpot JIT My numbers are on Win2k & JDK1.3 & 300Mhz P3: Jython 2.0beta2 on java1.3.0 (JIT: null) 37.74500000476837 <-- interpretted Jython 2.0beta2 on java1.3.0 (JIT: null) 4.736999988555908 <-- hotspot While somewhat faster then your HP it is in the within the same range. >Linux 512 MHz dual Celeron (brain dead?) Pentium > > Linux: /home/mudd[1] jpython >JPython 1.1 on java1.2.2-RC2 (JIT: javacomp) >Copyright (C) 1997-1999 Corporation for National Research Initiatives >>>> from time import time >>>> t1=time(); x=2L**10000; delay=time()-t1; print delay >0.00499 <-- About 2,400 times faster than HP's best numbers??!? >>>> That's fast! Does it actually calculate the correct value? The power calculation is done fully by the java.math.BigInteger implementation. The BigInteger.pow() on JDK1.3 (and HP too I expect) is implemented in java as some kind of loop which I don't understand. If the linux JVM are doing its BigInteger stuff in native code, that might explain the difference. regards, finn |
From: L. H. <hu...@ha...> - 2001-01-13 13:23:48
|
Finn Bock wrote: >> HP: >> >> JPython 1.1+09 on java1.2.2.05 (JIT: null) >> 86.5 <-- interpretted, very slow >> >> JPython 1.1+09 on java1.2.2.05 (JIT: HP) >> 11.8 <-- classic JIT >> >> JPython 1.1+09 on java1.2.2.05 (JIT: null) >> 14.9 <-- HotSpot JIT > > > My numbers are on Win2k & JDK1.3 & 300Mhz P3: > > Jython 2.0beta2 on java1.3.0 (JIT: null) > 37.74500000476837 <-- interpretted > > Jython 2.0beta2 on java1.3.0 (JIT: null) > 4.736999988555908 <-- hotspot > > While somewhat faster then your HP it is in the within the same range. > > >> Linux 512 MHz dual Celeron (brain dead?) Pentium >> >> Linux: /home/mudd[1] jpython >> JPython 1.1 on java1.2.2-RC2 (JIT: javacomp) >> Copyright (C) 1997-1999 Corporation for National Research Initiatives >> >>>>> from time import time >>>>> t1=time(); x=2L**10000; delay=time()-t1; print delay >>>> >> 0.00499 <-- About 2,400 times faster than HP's best numbers??!? >> > > That's fast! Does it actually calculate the correct value? I checked it out on my Machine: /home/humbert > cat /proc/cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 5 model : 9 model name : AMD-K6(tm) 3D+ Processor stepping : 1 cpu MHz : 400.917224 cache size : 256 KB fdiv_bug : no hlt_bug : no sep_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr mce cx8 sep mtrr pge mmx 3dnow bogomips : 799.54 humbert@haspe:~/jython-2.0b2 > ./jython Jython 2.0beta2 on java1.3.0_01 (JIT: null) Type "copyright", "credits" or "license" for more information. >>> from time import time >>> t1=time(); x=2L**10000; delay=time()-t1; print delay 4.932000041007996 >>> TNX Ludger |