prímszám benchmark

Fórumok

prímszám benchmark

Hozzászólások

Köszi a részvételt mindenkinek!
Így legalább lett egy szép kis statisztikám, meg tudom, hogy jó lesz a Celeron M 1,4ghz.

Amúgy a binárist mindenféle külön architektúra-opció nélkül gcc-vel fordítottam Sarge alatt. (nem tudom, hogy ott mi az alapértelmezés. talán i586?)

Csaba

Sziasztok!

Még évekkel ezelőtt írtam egy (nem túl szép) prímszám-számolós progit, amivel a procik sebességét mértem.
Szeretnék új gépet venni CeleronM 1,4ghz 1M cache-el, és kiváncsi vagyok a sebességére.
Ha valakinek van ilyen procija, légyszi futtasson egy "time ./bench.out" parancsot.
A code + bináris itt található:
http://tuxworld.homelinux.org:81/bench/

(Többi procival is lehet azért próbálkozni...)

Köszi, Csaba

Hi szívesen lemérném csak hogy nem elérhető a link. 8)

[quote:f8d8a4b16b="o_O"]Hi szívesen lemérném csak hogy nem elérhető a link. 8)

Puh, köszi a tippet!
Most már működik a link.

(A szolgáltatóm múlt hét óta szűri a 80-as portot, ezért a pacsit 81-re raktam. De ezt meg a tűzfalam nem szerette)

Csaba

a gép egy AMD Athlon(tm) XP 1100.889 MHz 256 Kb cache

real 0m11.283s
user 0m10.701s
sys 0m0.003s

Egy két irányérték debiannal, 2.6-os kernellel:

Intel Pentium I MMX, 200mhz, 66,8 sec
Intel Pentium II, 400 mhz, 24,2 sec
Intel Pentium III, 500 mhz, 18,9 sec
Intel Pentium IV, 2400 mhz, 6,3 sec
Intel Celeron, 1700 mhz, 9,6 sec
Intel Pentium M, 1600 mhz, 5,7 sec

P4 3GHz NW

real 0m4.695s
user 0m4.692s
sys 0m0.003s

Van egy Celeron M 340 (1,5GHz 512KB) procis gépem is, de csak holnap tudom lefuttatni a tesztet rajta.

AMD Sempron 2200+

real 0m9.982s
user 0m7.989s
sys 0m0.059s

AMD Athlon(tm) XP 3200+

real 0m5.406s
user 0m5.360s
sys 0m0.001s

Hello
Amd Semp. 2400+ 1G ram, Debian Sid 2.4 kernel:

fw:~/Download# time ./bench

real 0m7.473s
user 0m7.110s
sys 0m0.020s

Produktiv devel gép, fut rajta minden, apache2,mysql,postgres,dns,dhcp, tomcat, stb. Igy lett ennyi. :)

Sz.Z.

real: 3.447s
user: 3.440s
sys: 0.000s

P4 3.2 GHz

AMD 2100+ XP

real 0m6.905s
user 0m6.760s
sys 0m0.020s

SuSE 9.3 / P4 2.6 (HT bekapcs.)

real 0m5.462s
user 0m5.434s
sys 0m0.027s

AMD Barton XP 2800+

real 0m6.057s
user 0m5.784s
sys 0m0.044s

HP pavilion ze4330us
Mobil AMD Athlon XP 2400+ (1,79 GHz)

lepton@mobil:~$ time ./bench.out

real 0m6.690s
user 0m6.634s
sys 0m0.001s

Az eredmeny:
real 0m6.269s
user 0m6.254s
sys 0m0.001s

A coftverek: gentoo 64bites modban, 2.6.12.5

A vas
dandor@dandor:/tmp/b$ free
total used free shared buffers cached
Mem: 511476 493356 18120 0 8576 198508
-/+ buffers/cache: 286272 225204
Swap: 987956 2464 985492

dandor@dandor:/tmp/b$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 12
model name : AMD Athlon(tm) 64 Processor 2800+
stepping : 0
cpu MHz : 1818.106
cache size : 512 KB
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow
bogomips : 3604.48
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

Hi!

real 0m2.739s
user 0m2.737s
sys 0m0.002s

P4 3.06GHz, RDRAM

By(t)e
TBS::Antiemes

Hi!
Csatlakozok a többiekhez :)

AMD 64bit 3000+

real 0m6.144s
user 0m5.818s
sys 0m0.006s

Futt mellete elég sok kiszolgáló :).
Remélem tudtunk segíteni a vásárlásban :).

Athlon XP 3200+ (Barton)

real 0m5.005s
user 0m4.974s
sys 0m0.003s

P4 optimalizált a kód? :)

Na mégegyszer:

Athlon XP 3200+ (Barton)

$ gcc -Wall -march=athlon-xp -O2 bench.c -o bench -lm
$ time ./bench
real 0m4.868s
user 0m4.837s
sys 0m0.003s

AMD Athlon XP 2500+

real 0m5.682s
user 0m6.681s
sys 0m0.000s

AMD Athlon(tm) XP 1800+ /1GB Ubuntu 2.6.12

real 0m6.807s
user 0m6.804s
sys 0m0.002s

AMD Athlon(tm) XP 2500+ Barton

real 0m6.428s
user 0m6.380s
sys 0m0.050s

Celeron 2626.362 MHz Suse 10.0 (tiz perce telepített)

real: 5,421s
user: 5,404s
sys: 0,000s

AMD Sempron 2200+ (1500Mhz)
512Mb DDR
Slackware current - 2.6.13.2

real 0m7.365s
user 0m7.240s
sys 0m0.024s

Hmmm... Ezt irja forditasnal:

undefined reference to `sqrt'

Ennek nem lenne szabad. Tudtommal a math.h-ban benne ven az sqrt, nem?

Csak hogy ilyen is legyen.... :-)

trey@yavin$ dmesg | grep CPU:
CPU: AMD Opteron(tm) Processor 242 (1594.33-MHz K8-class CPU)
trey@yavin$ uname -a
FreeBSD yavin.trey.hu 6.0-BETA3 FreeBSD 6.0-BETA3 #2: Mon Sep 5 07:22:46 CEST 2005 root@yavin.trey.hu:/usr/obj/usr/src/sys/YAVIN amd64
trey@yavin$ time ./bench

real 0m11.359s
user 0m6.372s
sys 0m0.001s

Athlon-xp 1700+ (1466MHz)

real 0m7.415s
user 0m7.161s
sys 0m0.236s

Megyek be az irodába, lemérem a másik gépemmel is ...

OK, megvan gcc -lm...
Ez eleg lamasag volt :lol: :lol: :lol:

model name : Intel(R) Pentium(R) 4 CPU 3.00GHz
cache size : 1024 KB
gcc (GCC) 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu9)
icc : Version 9.0

time ./bench.out
real 0m3.759s
user 0m3.729s
sys 0m0.001s

gcc -march=pentium4 -O3 -lm bench.c ; time ./a.out
real 0m3.495s
user 0m3.463s
sys 0m0.009s

icc -fast bench.c ; time ./a.out
IPO: performing single-file optimizations
IPO: generating object file /tmp/ipo_icc7RbrJz.o
bench.c(12) : (col. 2) remark: LOOP WAS VECTORIZED.
real 0m0.008s
user 0m0.008s
sys 0m0.000s

Na igen, intel forditoval maris jobb az eredmeny. :P

Mate

[code:1:dfb54be746]
# uname -mpsr
OpenBSD 3.8 amd64 Intel(R) Pentium(R) 4 CPU 3.40GHz
# gcc -lm bench.c -o bench
# time ./bench
0m3.05s real 0m3.05s user 0m0.00s system
# gcc -lm -O3 bench.c -o bench
# time ./bench
0m2.94s real 0m2.94s user 0m0.00s system
# gcc -lm -O3 -ffast-math bench.c -o bench
# time ./bench
0m0.13s real 0m0.13s user 0m0.00s system
# gcc -lm -O3 -ffast-math -march=prescott bench.c -o bench
# time ./bench
0m0.12s real 0m0.11s user 0m0.00s system
# gcc -O3 -fforce-addr -ffast-math -march=prescott bench.c -o bench
# time ./bench
0m0.11s real 0m0.11s user 0m0.00s system
[/code:1:dfb54be746]

model name : AMD Opteron(tm) Processor 248
cpu MHz : 2191.451
cache size : 1024 KB
gcc-3.4 (GCC) 3.4.4 20050314 (prerelease) (Debian 3.4.3-13)
icc -v: Version 9.0

time ./bench.out (bar ez nyilvan csak 32 bites uzemmodban fut)
real 0m5.250s
user 0m5.242s
sys 0m0.001s

gcc-3.4 -march=opteron -O3 -lm bench.c; time ./a.out
real 0m4.621s
user 0m4.618s
sys 0m0.002s

icc bench.c ; time ./a.out
real 0m0.008s
user 0m0.007s
sys 0m0.001s

Intel P4. 2.8 - OpenBSD 3.8
[code:1:4133d732c3]
$ time ./a.out
0m5.05s real 0m5.01s user 0m0.00s system
[/code:1:4133d732c3]

Dual PIII - 2x 1Ghz - OpenBSD 3.7
[code:1:4133d732c3]
$ time ./a.out
9.64s real 9.63s user 0.01s system
[/code:1:4133d732c3]

AMD 1.7 - OpenBSD 3.7
[code:1:4133d732c3]
$ time ./a.out
0m8.19s real 0m8.16s user 0m0.00s system
[/code:1:4133d732c3]

Intel Celeron 2.4 - OpenBSD 3.7
[code:1:4133d732c3]
$ time ./a.out
0m4.66s real 0m4.64s user 0m0.00s system
[/code:1:4133d732c3]

Hm viszont ha igy forditom marhara felgyorsul..:)
[code:1:4133d732c3]
cpu0: Genuine Intel(R) CPU 2.80GHz ("GenuineIntel" 686-class) 2.80 GHz
$ uname -a
OpenBSD larva.portable.wooh.hu 3.8 GENERIC#159 i386
$ gcc -lm -O3 -ffast-math -march=prescott bench.c -o bench
$ time ./bench
0m2.91s real 0m2.90s user 0m0.00s system
[/code:1:4133d732c3]

FreeBSD 5.3-RELEASE-p2 (ZER0)

Dual Xeon 3.06 Ghz, 4Gb RAM

real 0m3.387s
user 0m3.378s
sys 0m0.008s

:-)

Nem sok értelme van újrafordítani a forrást, mert akkor már inkább compiler optimalizációs teszt lesz belőle.
Pl ha VC++-ban fordítom le, akkor 0.15 sec alatt lefut, mert egyszerűen kihagyja a logikailag felesleges ciklust.

Debian Sarge 3.1 / 2.4.31-grs

AMD Athlon(tm) XP 2500+ / 1825.353 MHz

[code:1:37a9f2f131]
time ./bench.out korabbi eredmenyet irtam, az ez volt:

real 0m6.428s
user 0m6.380s
sys 0m0.050s
[/code:1:37a9f2f131]

[code:1:37a9f2f131]
gcc -lm -O3 -ffast-math -march=athlon-xp bench.c -o bench

real 0m5.961s
user 0m5.880s
sys 0m0.080s
[/code:1:37a9f2f131]

Celeron M 1.4 GHz (IBM ThinkPad R50e), FreeBSD 6.0-BETA5

gcc bench.c -o bench -lm
time ./bench
6.460u 0.000s 0:12.28 52.6% 5+167k 0+0io 0pf+0w

[quote:f883878d63="crypton"]FreeBSD 5.3-RELEASE-p2 (ZER0)

Dual Xeon 3.06 Ghz, 4Gb RAM

real 0m3.387s
user 0m3.378s
sys 0m0.008s

:-)

kíváncsivá tett, mit ad eredményül ugyanaz a kód, Python-ban, ugyanazon a gépen.
Íme a kód Pythonban:
----
http://tobi.hu/test/bench.py
----
És íme az eredmény:

real 2m55.296s
user 2m55.258s
sys 0m0.032s

Hmm.. a C ereje ! :-)

Bárhogy állítottam a fordítási opciókat, nagyjából mindig ugyanaz
az eredmény.

AMD Athlon XP 1700+ Palomino

gcc bench.c -lm
time ./a.out

real 0m8.428s
user 0m8.135s
sys 0m0.008s

gcc bench.c -march=athlon-xp -O3 -pipe -fomit-frame-pointer -lm
(ezekkel van amugy a rendszer is forditva, azert nem raktam be tobbet/masokat)

real 0m7.755s
user 0m7.459s
sys 0m0.007s

time python bench.py

real 5m5.609s
user 4m56.907s
sys 0m0.221s

[code:1:b2830b91b9]szz@zoe:~/workspace$ uname -a
Linux zoe 2.6.9-19 #1 SMP Thu Jan 27 08:52:43 CET 2005 i686 unknown unknown UHU-Linux

szz@zoe:~/workspace$ /usr/sbin/hwinfo --cpu
01: None 00.0: 10103 CPU
[Created at cpu.290]
Unique ID: rdCR.j8NaKXDZtZ6
Hardware Class: cpu
Arch: Intel
Vendor: "AuthenticAMD"
Model: 15.31.0 "AMD Athlon(tm) 64 Processor 3200+"
Features: fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,clflush,mmx,fxsr,sse,sse2,syscall,nx,mmxext,lm,dnowext,3dnow
Clock: 2053 MHz
Cache: 512 kb
Config Status: cfg=new, avail=yes, need=no

szz@zoe:~/workspace$ time ./bench

real 0m4.953s
user 0m4.695s
sys 0m0.002s
[/code:1:b2830b91b9]

Kis kozelitessel az osszes (x86) procin aranyos lesz a teszt eredmenye a proci orajelevel.

Nem tul hasznos az ilyen benchmark, kiveve azt az esetet, amikor valoban ez az egy program fog a megvasarolt procin futni.

Ennek tenyleg nem sok ertelme volt, foleg ha forrasbol forditottatok.
Pl:

$ time ./bench-gcc3.3
real 0m5.804s
user 0m5.684s
sys 0m0.011s

$ time ./bench-gcc4.0
real 0m6.221s
user 0m6.065s
sys 0m0.011s

5.8 es 6.2 kozott van egy "kis" kulonbseg.

(AMD Athlon(tm) XP 2800+, 2080.003 MHz)

Futtassunk rajta PovRay-t, azonbelul is: benchmark.pov
Az megizzasztja a gepet...

És még be sem vetettük a forrás optimalizálását 8-)