Enkät i praktiken: Hur snabbt "tom-loopar" din dator 1000000 varv?

Tråden skapades och har fått 41 svar. Det senaste inlägget skrevs .
  • Medlem
  • International user
  • 2004-07-22 13:43

Sitter och funderar lite fritt för mig själv om hur hårdvaruberoende shellet egentligen är. Om du vill testa kan du köra detta lilla shellscript

#!/bin/bash
i=0
while [ $i -lt 1000000 ]
do
i=$(( $i + 1 ))
done
exit 0

Kör scriptet med 'time' framför: 'time ./test.sh'.

Jag fick följande tider på tre försök på en G5 Dual 1,8

WireG5:~/test admin$ time ./test.sh

real    0m49.445s
user    0m43.420s
sys     0m6.020s
WireG5:~/test admin$ time ./test.sh 

real    0m49.326s
user    0m43.180s
sys     0m6.040s
WireG5:~/test admin$ time ./test.sh 

real    0m49.372s
user    0m42.890s
sys     0m6.240s

Kan vara kul att se tider på andra hårdvaror.

Dell Intel Pentium-4 3.2 GHz med 1 GB RAM och Windows XP Pro + Cygwin 1.5.10 + bash 2.05b:

$ time ./test.sh

real    1m23.821s
user    1m23.718s
sys     0m0.015s

Väldigt kass, vilket man kanske kunde förvänta sig av operativsystemet.

Ciryon

Intressant. Notera skillnaden mellan Ciryon och Drutten:

Ursprungligen av drutten:

AMD 1700+, 640MB RAM , Clarkconnect 2.2 med Linux 2.4.20

[drutten@druttburk drutten]$ time ./test.sh

real    0m37.354s
user    0m34.630s
sys     0m0.770s
Ursprungligen av Ciryon:

Dell Intel Pentium-4 3.2 GHz med 1 GB RAM och Windows XP Pro + Cygwin 1.5.10 + bash 2.05b:

$ time ./test.sh

real    1m23.821s
user    1m23.718s
sys     0m0.015s

Väldigt kass, vilket man kanske kunde förvänta sig av operativsystemet.

Ciryon

Ciryon har en nästan dubbelt så snabb processor som Drutten. Ändå är Drutten är dryga minuten snabbare...

  • Medlem
  • Varberg
  • 2004-07-22 13:54

iMac G4 800 MHz / 768 RAM

$ time ./test.sh

real    1m54.780s
user    1m42.960s
sys     0m9.460s
Senast redigerat 2004-07-22 14:21
  • Medlem
  • Göteborg
  • 2004-07-22 13:59

iBook G3 800MHz, 640 MB RAM, OS X 10.3.4:

real    1m52.316s
user    1m35.390s
sys     0m7.600s
  • Medlem
  • Norrköping
  • 2004-07-22 14:01

AMD 1700+, 640MB RAM , Clarkconnect 2.2 med Linux 2.4.20

[drutten@druttburk drutten]$ time ./test.sh

real    0m37.354s
user    0m34.630s
sys     0m0.770s

[FONT="Courier New"][misve@survivor misve]$ time ./test.sh; cat /proc/cpuinfo | grep "cpu MHz"; uname -op

real 5m18.155s
user 5m13.360s
sys 0m1.920s
cpu MHz : 533.365
i686 GNU/Linux
[misve@survivor misve]$[/FONT]

//Mikael

[FONT="Courier New"]avenger:~/scripts/test misve$ time ./test.sh; system_profiler | less | grep "CPU "

real 3m43.013s
user 3m10.020s
sys 0m19.350s
CPU Type: PowerPC G4 (2.8)
CPU Speed: 450 MHz
avenger:~/scripts/test misve$[/FONT]

PowerBook G4 1.33GHz

mike-machine:~ micke$ time ./timetest 

real    4m2.170s
user    1m2.740s
sys     0m5.500s
mike-machine:~ micke$ time ./timetest 

real    3m56.723s
user    1m4.150s
sys     0m5.570s
mike-machine:~ micke$ time ./timetest

real    1m8.539s
user    1m2.540s
sys     0m5.660s

Blev lite skillnad när man stängde ner ett dussin program...

  • Medlem
  • International user
  • 2004-07-22 15:29

Hmmm... Måste bero på att Linux körs "närmare" hårdvaran. Bash på XP körs väl "ovanpå" XP, så att säga. Vilket leder till sunk. Som Classic på X :rolleyes:

Ursprungligen av Wire:

Sitter och funderar lite fritt för mig själv om hur hårdvaruberoende shellet egentligen är.

som med alla andra scriptspråk och program så går det ju bättre på "hårda beräkningar" ju bättre hårdvara är..

  • Medlem
  • International user
  • 2004-07-22 16:49

Stämmer väl inte helt med tanke på Ciryons resultat...

Ursprungligen av Wire:

Stämmer väl inte helt med tanke på Ciryons resultat...

nu skulle inte jag vilja kalla cygwin "native" på något sätt direkt. Ciryons resultat tyder kanske närmare på att cygwin långtifrån integreras bra i windows miljö vad gäller prestanda. Men det var det väl knappast någon som förvånades över...

  • Medlem
  • 2004-07-22 17:09

G5 2x2.0,2Gb RAM

sushi:~ david$ time ./test.sh

real 0m45.406s
user 0m40.220s
sys 0m5.230s

  • Medlem
  • Norrköping
  • 2004-07-22 17:11

Från min andra burk:

AMD 2100+@2700+, 512MB RAM, Gentoo Linux, Kärna: 2.6.7-gentoo-r7

drutten@spelburken drutten $ time ./test.sh 

real    0m21.372s
user    0m20.408s
sys     0m0.684s

Jag tycker det är konstigt att min AMD 2700+ är dubbelt så snabb på det här som en Dual 2Ghz G5:a, ingen som har något bra svar på det ?

  • Medlem
  • International user
  • 2004-07-24 10:39

Powerbook G4 1,25 GHz

real 1m12.556s
user 1m6.450s
sys 0m5.640s

  • Medlem
  • 2004-07-22 17:20

Sun 440, 4x1,2Ghz 16Gb RAM

testade på en ny solaris hoj och det var inte speciellt imponerande:

# time ./test.sh

real 1m12.234s
user 1m0.310s
sys 0m11.860s

som försvar till Sun kan inte solaris visa musklerna vid denna typ av test. Kan dock göra saker som får intel & co att blekna.

  • Medlem
  • International user
  • 2004-07-22 17:48

På min iBook G4 800 MHz med en hel drös program igång, video, iTunes spelande, med mycket HD-akitivtet (10tal transfers via P2P-programvara).

time ./test.sh 

real    3m13.179s
user    1m50.060s
sys     0m10.610s

Edit: Får återkomma med nya testresultat när jag stänger ner rubbet och kanske inte Exposéar och mojsar under testtiden.

  • Medlem
  • Göteborg
  • 2004-07-22 20:02

real 1m27.061s
user 1m12.750s
sys 0m6.780s

...iBook G4 1GHz 768mb ram
opera och itunes igång...

Powerbook G4 Alu 15" 1 Ghz med 768 Mb RAM:
real 1m31.000s
user 1m22.890s
sys 0m6.730s

Datorn drog igång skärmsläckaren under tiden undrar just om det påverkade resultatet något.

  • Medlem
  • Stockholm
  • 2004-07-24 15:03

PM G4 2*1,25 GHz

real 1m11.237s
user 1m5.430s
sys 0m6.200s

Synd att bara den ena proppen används när man gör såna här saker. :rolleyes:

  • Medlem
  • International user
  • 2004-07-24 19:41
Ursprungligen av macce:

Synd att bara den ena proppen används när man gör såna här saker. :rolleyes:

Hur vet du det?

  • Medlem
  • Stockholm
  • 2004-07-24 20:07
Ursprungligen av Wire:

Hur vet du det?

Dels jämförde jag tiden med din 1,25:a och vi hade ungefär samma resultat, och dels kör jag MenuMeters så jag såg lasten hela tiden. Visserligen växlades lasten mellan propparna, men den var inte delad, bara distribuerad. Det är ju inte heller så konstigt, eftersom beräkningen sker i en och samma tråd. Vad jag vet kan man inte dela en tråd mellan processorer.

Om jag däremot kör två testloopar samtidigt i varsitt skal, används båda processorerna fullt, och looparna tar lika lång tid som när jag kör en ensam, på en sekund när.

PB 15" 1,5 GHz, 1 GB

real 1m2.115s
user 0m56.050s
sys 0m4.890s

Rätt okej, tycker jag!

Skillnaden mellan när jag hade en massa program igång var försumbar. Det skilde några futtiga sekunder:

real 1m8.287s
user 0m57.250s
sys 0m4.970s

  • Medlem
  • Stockholm
  • 2004-07-24 22:10
Ursprungligen av macce:

Dels jämförde jag tiden med din 1,25:a och vi hade ungefär samma resultat, och dels kör jag MenuMeters så jag såg lasten hela tiden. Visserligen växlades lasten mellan propparna, men den var inte delad, bara distribuerad. Det är ju inte heller så konstigt, eftersom beräkningen sker i en och samma tråd. Vad jag vet kan man inte dela en tråd mellan processorer.

Om jag däremot kör två testloopar samtidigt i varsitt skal, används båda processorerna fullt, och looparna tar lika lång tid som när jag kör en ensam, på en sekund när.

Crap, jag som just tänkte testa scriptet på en 24 proppars HP/UX server

  • Medlem
  • Sollentuna
  • 2004-07-24 21:00
Ursprungligen av Wire:

Sitter och funderar lite fritt för mig själv om hur hårdvaruberoende shellet egentligen är. Om du vill testa kan du köra detta lilla shellscript

#!/bin/bash
i=0
while [ $i -lt 1000000 ]
do
i=$(( $i + 1 ))
done
exit 0

Kör scriptet med 'time' framför: 'time ./test.sh'.

Jag fick följande tider på tre försök på en G5 Dual 1,8

WireG5:~/test admin$ time ./test.sh

real    0m49.445s
user    0m43.420s
sys     0m6.020s
WireG5:~/test admin$ time ./test.sh 

real    0m49.326s
user    0m43.180s
sys     0m6.040s
WireG5:~/test admin$ time ./test.sh 

real    0m49.372s
user    0m42.890s
sys     0m6.240s

Kan vara kul att se tider på andra hårdvaror.

Samma maskinvara (2x1.8 G5):

$ time ./test.sh

real    0m49.266s
user    0m43.290s
sys     0m5.940s

och med testet i Perl:

$ time ./test.pl

real    0m0.390s
user    0m0.410s
sys     0m0.010s

$ cat test.pl
#!/usr/bin/perl -w

my $i = 0;
while ($i < 1000000) {
  $i++;
}

  • Medlem
  • Stockholm
  • 2004-07-24 22:05

Min G5 säger följande:
real 0m56.725s
user 0m49.010s
sys 0m7.060s
CPU Type: PowerPC 970 (2.2)
CPU Speed: 1.6 GHz

Min Powerbook 12" säger:
real 1m8.061s
user 1m1.680s
sys 0m5.610s
CPU Type: PowerPC G4 (1.1)
CPU Speed: 1.33 GHz

  • Medlem
  • Stockholm
  • 2004-07-26 14:21

real 3m22.837s
user 3m19.830s
sys 0m2.880s

cpu MHz : 498.758
cpu MHz : 498.758
Linux

(det är på en 2*p3 500MHz med wbel senaste versionen)

/glemme

Xserve:
CPU Type: PowerPC G5 (3.0)
Number Of CPUs: 2
CPU Speed: 2 GHz
L2 Cache (per CPU): 512 KB

real 0m44.746s
user 0m39.110s
sys 0m5.390s

Athlon 1900+
Linux 2.4.23 i686

real 0m37.630s
user 0m37.230s
sys 0m0.390s

Drar detta script någon nytta av Dual-CPU's ?
Störande att en 1900+ ska va snabbare än en 2x2ghz G5

Bevaka tråden