Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.

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-26 17:38

Har jag fel om jag påstår att 99% av OS X inte drar nytta av vare sig G5 eller Dual processor? Det verkar inte så...

Ursprungligen av Wire:

Har jag fel om jag påstår att 99% av OS X inte drar nytta av vare sig G5 eller Dual processor? Det verkar inte så...

Tja... i det avseendet att du verkar se ett loop-test i bash som representativt för hela operativsystemets prestanda så har du iaf fel. Det du testar är hur snabbt bash kan loopa, men bash är ju redan ökänt för att vara *extremt* dåligt lämpat för den sortens uppgifter just p.g.a. usla prestanda. Testresultaten säger därför mer om bash självt än om datorns råprestanda. Det är också viktigt att inte blanda ihop operativsystemet (OS X) med de program man kör under operativsystemet (i det här fallet bash); det är bash som inte drar nytta av G5 och dubbla processorer, inte OS X.

Vill du göra ett mer relevant test på hur fort datorn kan tom-loopa (vilket iofs är ganska intetsägande) skulle jag rekommendera att du gör testet i C i stället - kör du ett så stort antal loopar att du behöver en 64-bits loopvariabel kan du då också testa eventuella prestandavinster med G5 kontra G4. Men det går nog inget vidare att dra nytta av dubbla processorer - en enda loop går ju liksom inte så jättebra att dela upp i flera trådar.

  • Medlem
  • Stockholm
  • 2004-07-26 18:41

Njaa... så fort man gör flera saker samtidigt kommer flera processorer, oavsett arkitektur, att korta ner totaltiden eftersom de då kan dela på lasten (dvs exekvera varsin tråd).

Antagandet att Panther inte utnyttjar G5:an på långa vägar fullt ut, håller jag med om. Panther är inte ett 64-bits OS, således måste G5:an emulera en 32-bits mijö (s.k. thunking, om jag inte minns fel). Detta påverkar prestanda negativt.

Dock tror jag inte att det gör någon större skillnad i det här fallet, med testloopen, då sådana relativt simpla heltalsberäkningar inte utförs så vansinnigt olika på olika processortyper. Tyngre flyttalsberäkningar skulle nog visa större skillnader.

  • Medlem
  • Göteborg
  • 2004-07-26 22:58

Har inte tålamodet att köra shellscriptet
Men som kuriosa; motsvarande i ruby och c (på en iBook G4 800).

[ibook:~/Programming/shloop] tobbe% time ./loop.rb
2.960u 0.010s 0:03.19 93.1%     0+0k 0+0io 0pf+0w
[ibook:~/Programming/shloop] tobbe% time ./a.out
0.010u 0.010s 0:00.08 25.0%     0+0k 0+0io 0pf+0w

Går inte helt oväntat snabbare än shellscript
Ingen annan som använder tcsh förresten?

  • Medlem
  • International user
  • 2004-07-26 23:25

...och så var det det där med äpplen och päron...

Ursprungligen av Wire:

...och så var det det där med äpplen och päron...

Citat:

Har jag fel om jag påstår att 99% av OS X inte drar nytta av vare sig G5 eller Dual processor? Det verkar inte så...

(smileys for att understryka nypan med salt och fylla ut lite så jag kan posta inlägget)

  • Oregistrerad
  • 2004-07-26 23:31

Snyft, jag kan inte unix, men skulle gärna testa på min Yikes!

Last login: Mon Jul 26 23:28:10 on ttyp1
Welcome to Darwin!
patricks-dator:~ patrick$ /test admin$ time./test.sh
-bash: /test: No such file or directory
patricks-dator:~ patrick$ time./test.sh
-bash: time./test.sh: No such file or directory
patricks-dator:~ patrick$

?!..

  • Medlem
  • International user
  • 2004-07-27 15:59

Snabbguide till att göra testet - för UNIX-newbies
Kursiv text är vad datorn skriver ut, fet text är vad du ska skriva in. Understruken är instruktioner.

Öppna terminalen.
Last login: Mon Jul XX XX:XX:XX on ttypX
Welcome to Darwin!
patricks-dator:~ patrick$
pico

Nu kommer det att komma upp en textbaserad textredigerare. Markera texten här nedanför och klista in den i terminalen (Äpple + V eller Redigera -> Klistra in)

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

Tryck CTRL + Q, tryck på Y och skriv in test.sh. Nu är du tillbaka i ditt shell och skriver in:
patricks-dator:~ patrick$ pico
patricks-dator:~ patrick$ chmod u+x test.sh

Därefter skriver du in...
patricks-dator:~ patrick$ pico
patricks-dator:~ patrick$ chmod u+x test.sh
patricks-dator:~ patrick$ time ./test.sh

... och väntar (observera att det ska vara en punkt och en slash framför test.sh när du ska köra testet (sista raden))! Snart får du fram ett resultat som du kan kopiera och klistra in i ett inlägg till den här tråden!

Hoppas det går bra för dig!

//Mikael

PowerMac G4 2x1,25 GHz / Mac OS X 10.3.4

madman:~ johan$ time ./test.sh 

real    1m29.865s
user    1m6.630s
sys     0m6.540s

Pentium III 800 MHz / OpenBSD 3.5 -current Sat May 15 16:32

rudeboy:~ johan$time ./test.sh 

real    1m25.520s
user    1m22.875s
sys     0m2.195s

Bärbar IBM X31 Pentium M 1.4 ghz ( Cygwin )

real 1m2.077s
user 1m1.768s
sys 0m0.020s

Senast redigerat 2004-07-27 07:30
  • Medlem
  • Härnösand
  • 2004-07-28 04:45

Henriks-G4a:~ henriknilsson$ time ./test.sh

real 3m31.870s
user 3m9.280s
sys 0m16.590s

CPU Type: PowerPC G4 (2.7)
Number Of CPUs: 1
CPU Speed: 450 MHz
L2 Cache (per CPU): 1 MB

Inte direkt snabb.
-EDIT-

Henriks-G4a:~ henriknilsson$ time ./test.pl

real 0m9.985s
user 0m1.000s
sys 0m0.020s

Vilken otrolig hastighetsskillnad mellan Shellscript och Python. :eek:

isbiten@kaka:~$ time ./test.sh

real 1m35.639s
user 1m27.944s
sys 0m2.399s

800 mhz P3, med Debian 2.6.7

Bevaka tråden