webForumDet fria alternativet

Testa själv, hur snabb är din dator?

Programmering

59 svar · 7 238 visningar · startad av Compusa · sida 3 av 3

Frågan, av Compusa

I denna tråd brottades jag med ett litet problem, där jag skulle ta tiden på en "data-operation", detta ledde sedan till att jag lekte vidare lite och gjorde följande program. Det programet gör är att ta tiden på en "fake-task" i millisekunder, den utför totalt 250 tester och redovisar den totala tiden samt genomsnittstiden det tog att

Läs frågan i sin helhet →
Medlem sedan jan. 20027 905 inlägg
#41

muskot skrev:

Skapligt många program igång, men inget som är direkt processorintensivt. Har en Athlon XP 1,67 GHz.

Totaltid: 13766 milisekunder
Genomsnittstid: 55.064000 milisekunder

Test 2 på samma maskin (dock lite hårdare belastad denna gång):

Totaltid: 26108 milisekunder
Genomsnittstid: 104.432000 milisekunder

/R
Test 2 på en Pentium II 266 MHz (klar jumbo): :birp

Totaltid: 153470 milisekunder
Genomsnittstid: 613.880000 milisekunder

Medlem sedan jan. 20023 327 inlägg
#42

tydal skrev:

Det beror ju på vad du vill mäta och vad du mäter. Jag har en P4:a på 2.5 GHz för övrigt.

Du använder väl förresten GetTickCount så du inte kör med timer?

Ja jag tror det är GetTickCount jag använder mig av, är inte hundra? Nytt område för mig det här.

Så här ser det i alla fall ut när jag hämtar en timestamp.

#include <sys/timeb.h>
...
struct timeb tm;
ftime(&tm);
unsigned short timestamp1 = tm.millitm;
Medlem sedan juni 20034 013 inlägg
#43

67.692000 millisekunder blir det när jag stänger ner lite program som är igång.

Medlem sedan juni 20034 013 inlägg
#44

Compusa skrev:

Ja jag tror det är GetTickCount jag använder mig av, är inte hundra? Nytt område för mig det här.

Aha, det är inget Windowsprogram. Hade sett ut så här i så fall:

#include <windows.h>

DWORD dwCurTick;
dwCurTick = GetTickCount();

Det du får är antalet millisekunder sen systemet startade, så det är uptime:n du läser av.

För övrigt ryms det cirka 48 dagar i ett DWORD, och det var det väl ingen som tänkte på i början att Windows kunde vara igång så länge, så i alla fall Windows 95 (och kanske 98:an också, minns inte) hade den buggen att om systemet hade lyckats vara igång i 48 dagar i sträck så kraschade det :-)

Medlem sedan jan. 20023 327 inlägg
#45

Melea skrev:

Betyder detta att jag fortfarande leder? :)

Japp det verkar så :)

Melea skrev:

Totaltid: 13593 millisekunder.
Genomsnittstid: 54,372000 millisekunder.

Tiden att slå...

muskot skrev:

Test 2 på en Pentium II 266 MHz (klar jumbo): :birp
Totaltid: 153470 milisekunder
Genomsnittstid: 613.880000 milisekunder

Roligast hittills :e

tydal skrev:

Aha, det är inget Windowsprogram. Hade sett ut så här i så fall:
...
Det du får är antalet millisekunder sen systemet startade, så det är uptime:n du läser av.

Stämmer, använder mig av ren C (ANSI C) eller vad det nu kallas. Intressant information jag fick där, mer än vad jag hunnit läsa mig till.

tydal skrev:

För övrigt ryms det cirka 48 dagar i ett DWORD, och det var det väl ingen som tänkte på i början att Windows kunde vara igång så länge, så i alla fall Windows 95 (och kanske 98:an också, minns inte) hade den buggen att om systemet hade lyckats vara igång i 48 dagar i sträck så kraschade det :-)

Stabilt :e

Det verkar som detta test är mer tillförlitligt än det förra, men det återstår att se. Keep 'em coming :bire

Medlem sedan juni 20034 013 inlägg
#46

Compusa skrev:

Stämmer, använder mig av ren C (ANSI C) eller vad det nu kallas.

Ah, inget windowsspecifikt, det är ju perfekt! Då kan man ju lätt kompilera om det för andra OS. Skulle ju vara häftigt att boota om till Linux på samma burk och se om det är någon skillnad.

Eller ta en 16-bitarskompilator och dra igång 486:an :-)

Kan man få källkoden?

Medlem sedan sep. 20026 425 inlägg
#47

Efter en omstart blev detta resultatet:

Totaltid: 15516 ms
Genomsnittstid: 62.064000 ms

Men så har jag iofs massa bakgrundsprocesser..

Medlem sedan jan. 20023 327 inlägg
#48

tydal skrev:

Ah, inget windowsspecifikt, det är ju perfekt! Då kan man ju lätt kompilera om det för andra OS. Skulle ju vara häftigt att boota om till Linux på samma burk och se om det är någon skillnad.

Eller ta en 16-bitarskompilator och dra igång 486:an :-)

Kan man få källkoden?

Du har fått ett pm tydal, bara att kompilera om och leka på :)

Sidospår: testade förut att använda mig av globala variabler istället för lokala och det var ganska stor skillnad, de lokala (stacken) var mycket snabbare än de globala (heapen).

Om någon annan är intresserad av källkoden så är det bara att skicka mig ett PM.

Medlem sedan maj 20061 inlägg
#49

Totaltid: 15031 millisekunder
Genomsnittstid: 60.124000

Min processor heter "Intel CPU Pentium 4 640 3.2GHz S-775 800MHz 2M Boxed "Prescott" EM64T For BTX". Är den verkligen så dålig? Eller kan det finnas andra faktorer som påverkar värderna, förutom processorn?

Medlem sedan jan. 20023 327 inlägg
#50

Först och främst, ta testet med en nypa salt, vet fortfarande inte alls hur pålitligt det är :)

Det bör främst vara processorn som påverkar. Fick mycket sämre resultat på min bärbara som hade sämre processor men mer ram än min stationära. Hade du många program igång?

Någon som testat att starta firefox när testet pågor? Min dator orkar inte dra igång Firefox under testet, däremot småprogram.

Medlem sedan feb. 20041 816 inlägg
#51

Min crappiga 2.53 GHz (P4, NW) gav följande resultat:

Totaltid: 17485 millisekunder
Genomsnittstid: 69.940000 millisekunder
----------------------------------------------------------
Slut av testet

Inte så himla pjåkigt ändå.

Medlem sedan okt. 2005145 inlägg
#52

Melea skrev:

Betyder detta att jag fortfarande leder? :)

Nix...läs på sidan 1

Test 1:
Totaltid: 6453 millisekunder
Genomsnittstid: 25.812000 millisekunder

Test2:
Totaltid: 13438 millisekunder
Genomsnittstid: 53.752000 millisekunder

speedtest2.jpg
Medlem sedan juli 2002581 inlägg
#53

Anledningen att det inte fungerar när du kompilerar i release är att kompilatorn då tar bort saker som

for (int i=0;i<1000000000;i++);
Medlem sedan jan. 20023 327 inlägg
#54

Kan man inte påtvinga kompilatorn i Visual C/C++ att ej ta bort sådant? Dvs, inte ta bort dåliga saker? Intressant att veta, även om jag inte tänkt kompilera detta lilla program med Visual C/C++ sedan jag fått det att fungera med mingw.

Zpookey skrev:

Test2:
Totaltid: 13438 millisekunder
Genomsnittstid: 53.752000 millisekunder

En ny ledare, bäst tider på båda testerna om jag inte minns fel :bire

Medlem sedan okt. 2005145 inlägg
#55

Compusa skrev:

Kan man inte påtvinga kompilatorn i Visual C/C++ att ej ta bort sådant? Dvs, inte ta bort dåliga saker? Intressant att veta, även om jag inte tänkt kompilera detta lilla program med Visual C/C++ sedan jag fått det att fungera med mingw.

En ny ledare, bäst tider på båda testerna om jag inte minns fel :bire

Inte illa för en snart 3 år gammal bärbar :)

Medlem sedan juni 20031 837 inlägg
#56

Dator 1:
AMD XP 1800+ 1.5GB ram (ca 800mb använt), upptid 90+ dagar, 62 processer igång.
kör windows 2003 server.

Totaltid: 31201 millisekunder
Genomsnittstid: 124.804000 millisekunder
något jag tyckte var underligt var att mer än 50% av testerna hade exakt 125ms

Dator 2:
Intel P4 3.2GHz 2GB ram (ca 1GB använt), upptid ca 12 dagar. 63 processer igång. windows XP SP1.

Totaltid: 16219 millisekunder
Genomsnittstid: 64.876000 millisekunder

Efter omstart av dator 2:
Totaltid: 14469 millisekunder
Genomsnittstid: 57.876000 millisekunder

Efter lite optimering och endast 25 processer igång
Totaltid: 13375 millisekunder
Genomsnittstid: 53.500000 millisekunder

Att skriva ut till prompten tar ganska lång tid.
Testa att hoppa över utskrifterna eller skriv ut de när allt är klart.
Ev skriv till en logfil.
Skulle även vara intressant om du kunde skriva ut lite information om datorn, t.ex. minne (totalt och använt), OS, antal processer som är igång m.m.

Medlem sedan jan. 20023 327 inlägg
#57

The_Hulk skrev:

Att skriva ut till prompten tar ganska lång tid.
Testa att hoppa över utskrifterna eller skriv ut de när allt är klart.
Ev skriv till en logfil.

Utskriften till prompten ska inte påverka detta eftersom varje utskrifts gör efter varje test. Pseudo över hur det ser ut...

'take timestamp before starting test xx

// Task, a loop that does a lot of operations

'take timestamp when test xx has ended
'print out the time the task took

Har även testat att inte skriva ut allt på en gång, så som du säger och mycket riktigt så påverkar inte utskrifterna tiden som det tar att utföra fake-tasken, dvs de 250 testerna.

The_Hulk skrev:

Skulle även vara intressant om du kunde skriva ut lite information om datorn, t.ex. minne (totalt och använt), OS, antal processer som är igång m.m.

Det tycker jag med! Kommer förmodligen vidareutveckla denna när jag får mer tid över. Har även lite andra roliga planer som jag kommer försöka få med, men de är lite hemliga tillsvidare ;)

Medlem sedan jan. 20023 327 inlägg
#58

Zpookey skrev:

Inte illa för en snart 3 år gammal bärbar :)

Undrar varför denna presterar så bra :q

Medlem sedan juni 20031 837 inlägg
#59

Dator 3:
LG M1 Express Dual 1.6GHz (intel Centrino Duo) 2GB ram ca 500MB använt. Upptid 4h.
Windows XP Pro.

Silent Mode:
Totaltid: 64734 millisekunder
Genomsnittstid: 258.936000 millisekunder

Cool mode:
Totaltid: 43655 millisekunder
Genomsnittstid: 174.620000 millisekunder

Efter omstart

Cool Mode:
Totaltid: 24328 millisekunder
Genomsnittstid: 97.312000 millisekunder

den låg på 93/94 eller 109/110. Lite underligt att den alltid fick de värdena.

Medlem sedan nov. 20081 inlägg
#60

Quad

5342 i nya versionen är nog ganska bra...

Kör AMD Phenom 9550 Quad-Core 2,2 på Vista 64bitars.

Snittet blev 21,368ms - måste vara rätt nöjd :birp

254 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)