- Wire
- Medlem ●
- International user
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.
Intressant. Notera skillnaden mellan Ciryon och 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
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...
[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]
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..
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...
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 ?
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.
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.
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.
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
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
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++; }
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