Kleiner Linux Benchmark!

slinger

New member
Themenstarter
Registriert
25 März 2006
Beiträge
949
Hallo,

habe im Internet ein mini Benchmarktool in Python gefunden. Ist jetzt nicht der optimale vergleich weil der Benchmark von der Implementation von Python abhängig ist aber ich denke dennoch interessant!

Hier der Code:

Code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from time import time

def bench():
	now = time()
	max = 0; durchg = 0
	for i in xrange(1,10):
		tnow = time()
		for j in xrange(1,50000000):
			pass
		t = time()-tnow
		max += t
		durchg += 1
		print "Durchgang",i,(t),"Sekunden"
	print "Gesamt:",(time()-now),"Sekunden"
	print "Durchschnitt:",(max/durchg),"Sekunden"
	
def ram():
	now = time()
	max = 0; durchg = 0
	for i in xrange(1,10):
		dummy = []; dummy2 = []
		tnow = time()
		for j in xrange(0,1000000):
			dummy.append(j)
		dummy2 = []
		for j in xrange(0,1000000):
			dummy2.append(dummy[j])
		t = time()-tnow
		max += t
		durchg += 1
		print "Durchgang",i,(t),"Sekunden"
	print "Gesamt:",(time()-now),"Sekunden"
	print "Durchschnitt:",(max/durchg),"Sekunden"
	
def hdd():
	now = time()
	max = 0; durchg = 0
	for i in xrange(1,10):
		dummy = []; dummy2 = []
		tnow = time()
		for j in xrange(0,1000):
			dummy.append(j)
			file("test.tmp","w").write(str(dummy))
			dummy = None
			dummy = eval(file("test.tmp","r").read())
		t = time()-tnow
		max += t
		durchg += 1
		print "Durchgang",i,(t),"Sekunden"
	print "Gesamt:",(time()-now),"Sekunden"
	print "Durchschnitt:",(max/durchg),"Sekunden"
	
if __name__ == "__main__":
	print "CPU Test"
	bench()
	print "RAM Test"
	ram()
	print "HDD Test"
	hdd()


Und meine Ergebnisse:


Code:
CPU Test
Durchgang 1 3.08024692535 Sekunden
Durchgang 2 3.01126503944 Sekunden
Durchgang 3 3.00216293335 Sekunden
Durchgang 4 3.00769591331 Sekunden
Durchgang 5 2.9991209507 Sekunden
Durchgang 6 3.01773095131 Sekunden
Durchgang 7 3.02312088013 Sekunden
Durchgang 8 3.05542612076 Sekunden
Durchgang 9 3.02096796036 Sekunden
Gesamt: 27.2183201313 Sekunden
Durchschnitt: 3.02419307497 Sekunden
RAM Test
Durchgang 1 0.720715999603 Sekunden
Durchgang 2 0.70726108551 Sekunden
Durchgang 3 0.715564012527 Sekunden
Durchgang 4 0.77463388443 Sekunden
Durchgang 5 0.712062835693 Sekunden
Durchgang 6 0.707540035248 Sekunden
Durchgang 7 0.711652040482 Sekunden
Durchgang 8 0.713413000107 Sekunden
Durchgang 9 0.720657110214 Sekunden
Gesamt: 6.7063498497 Sekunden
Durchschnitt: 0.720388889313 Sekunden
HDD Test
Durchgang 1 3.5321700573 Sekunden
Durchgang 2 3.67606210709 Sekunden
Durchgang 3 3.17121005058 Sekunden
Durchgang 4 3.70821690559 Sekunden
Durchgang 5 3.26897096634 Sekunden
Durchgang 6 3.15083789825 Sekunden
Durchgang 7 3.52139401436 Sekunden
Durchgang 8 3.28093194962 Sekunden
Durchgang 9 3.15196704865 Sekunden
Gesamt: 30.4623579979 Sekunden
Durchschnitt: 3.38464011086 Sekunden



Getestet wurde mit offenem Firefox etc. Also nicht nach frischen Neustart ohne Applikationen offen, sondern eher mit produtkiver Umgebung. Entspricht eher der Realität! :)

Als zB "benchmark.py" speichern und mit "chmod +x" ausführbar machen. Anschliessend im Terminal starten!
 
Das sollte auch unter > 3.0 funktionieren. Achja, dummy2 in hdd verwendest du nicht.
Code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from time import time

def bench():
	now = time()
	max = 0; durchg = 0
	for i in range(1,10):
		tnow = time()
		for j in range(1,50000000):
			pass
		t = time()-tnow
		max += t
		durchg += 1
		print("Durchgang",i,(t),"Sekunden")
	print ("Gesamt:",(time()-now),"Sekunden")
	print ("Durchschnitt:",(max/durchg),"Sekunden")
	
def ram():
	now = time()
	max = 0; durchg = 0
	for i in range(1,10):
		dummy = []; dummy2 = []
		tnow = time()
		for j in range(0,1000000):
			dummy.append(j)
		dummy2 = []
		for j in range(0,1000000):
			dummy2.append(dummy[j])
		t = time()-tnow
		max += t
		durchg += 1
		print ("Durchgang",i,(t),"Sekunden")
	print ("Gesamt:",(time()-now),"Sekunden")
	print ("Durchschnitt:",(max/durchg),"Sekunden")
	
def hdd():
	now = time()
	max = 0; durchg = 0
	for i in range(1,10):
		dummy = []; dummy2 = []
		tnow = time()
		for j in range(0,1000):
			dummy.append(j)
			open("test.tmp","w").write(str(dummy))
			dummy= []
			dummy= eval(open("test.tmp","r").read())
		t = time()-tnow
		max += t
		durchg += 1
		print("Durchgang",i,(t),"Sekunden")
	print ("Gesamt:",(time()-now),"Sekunden")
	print ("Durchschnitt:",(max/durchg),"Sekunden")
	
if __name__ == "__main__":
	print("CPU Test")
	bench()
	print("RAM Test")
	ram()
	print("HDD Test")
	hdd()

Die Ergebnisse für einen AMD 3000+ IDE Festplatte
CPU Test
Durchgang 1 4.85900020599 Sekunden
Durchgang 2 5.39099979401 Sekunden
Durchgang 3 4.56200003624 Sekunden
Durchgang 4 4.68799996376 Sekunden
Durchgang 5 4.75 Sekunden
Durchgang 6 4.57800006866 Sekunden
Durchgang 7 4.76600003242 Sekunden
Durchgang 8 4.59299993515 Sekunden
Durchgang 9 4.59400010109 Sekunden
Gesamt: 42.7810001373 Sekunden
Durchschnitt: 4.7534444597 Sekunden
RAM Test
Durchgang 1 0.858999967575 Sekunden
Durchgang 2 0.858999967575 Sekunden
Durchgang 3 0.875 Sekunden
Durchgang 4 0.858999967575 Sekunden
Durchgang 5 0.844000101089 Sekunden
Durchgang 6 0.828000068665 Sekunden
Durchgang 7 0.890999794006 Sekunden
Durchgang 8 0.84299993515 Sekunden
Durchgang 9 0.828000068665 Sekunden
Gesamt: 8.10899996758 Sekunden
Durchschnitt: 0.853999985589 Sekunden
HDD Test
Durchgang 1 3.39100003242 Sekunden
Durchgang 2 3.40599989891 Sekunden
Durchgang 3 3.31200003624 Sekunden
Durchgang 4 3.40700006485 Sekunden
Durchgang 5 3.28099989891 Sekunden
Durchgang 6 3.31200003624 Sekunden
Durchgang 7 3.29700016975 Sekunden
Durchgang 8 3.39099979401 Sekunden
Durchgang 9 3.28100013733 Sekunden
Gesamt: 30.0780000687 Sekunden
Durchschnitt: 3.34200000763 Sekunden
 
Es gibt übrigens mindestens eine "professionelle" Benchmarksuite für Linux (und andere Unixoide): Die Phoronix Test Suite

Ich bin zwar eigentlich kein Benchmarkfan, aber ich hab sie mal testweise runtergeladen, installiert und lasse jetzt mal den universe-Test auf meinen X32 laufen.
 
A22p (1 GHz, PC100-SDRAM)
CPU Test
Durchgang 1 8.93074297905 Sekunden
Durchgang 2 8.58840203285 Sekunden
Durchgang 3 8.58341407776 Sekunden
Durchgang 4 8.56762909889 Sekunden
Durchgang 5 8.72859787941 Sekunden
Durchgang 6 8.57623791695 Sekunden
Durchgang 7 8.57556009293 Sekunden
Durchgang 8 8.6015920639 Sekunden
Durchgang 9 8.59099912643 Sekunden
Gesamt: 77.7466769218 Sekunden
Durchschnitt: 8.63813058535 Sekunden
RAM Test
Durchgang 1 1.88736701012 Sekunden
Durchgang 2 1.85329413414 Sekunden
Durchgang 3 1.85041999817 Sekunden
Durchgang 4 1.88831806183 Sekunden
Durchgang 5 1.85779905319 Sekunden
Durchgang 6 2.03612685204 Sekunden
Durchgang 7 2.14484500885 Sekunden
Durchgang 8 2.04892992973 Sekunden
Durchgang 9 1.9495909214 Sekunden
Gesamt: 19.1634919643 Sekunden
Durchschnitt: 1.94629899661 Sekunden
HDD Test
Durchgang 1 9.72171878815 Sekunden
Durchgang 2 8.00177693367 Sekunden
Durchgang 3 8.00205516815 Sekunden
Durchgang 4 8.02820587158 Sekunden
Durchgang 5 8.04431390762 Sekunden
Durchgang 6 8.05845093727 Sekunden
Durchgang 7 7.99986100197 Sekunden
Durchgang 8 8.89593791962 Sekunden
Durchgang 9 8.00752806664 Sekunden
Gesamt: 74.766256094 Sekunden
Durchschnitt: 8.30664984385 Sekunden
Netter Benchmark. Den werd ich wohl demnächst mal auf meinem Amilo von 2006 ausführen. Mal sehen, welcher Lappi gewinnt :D
 
Bei mir kommt direkt nach CPU Test "Killed".

OS ist Ubuntu 8.10 / Python 2.5.2
 
Der Vorteil dieses Skriptes:
+läuft unter vielen Betriebssystemen wie Windows, Linux, BSDs, viele andere(überall da, wo ein python interpreter existiert)
+Anpassbarkeit
+setzt nur python voraus, keine zus. Bib. sind zu installieren
Nachteile:
-abhängig von der Interpreterversion und OS

und zu Phoronix Test Suite:
Runs On Linux, OpenSolaris, Mac OS X, & FreeBSD
 
[quote='darktrym',index.php?page=Thread&postID=544030#post544030]und zu Phoronix Test Suite:
Runs On Linux, OpenSolaris, Mac OS X, & FreeBSD[/quote]
Und was willst du damit sagen?
Daß Phoronix nicht unter Windows läuft?
Richtig, aber da auf den wenigstens Windows-Rechnern Python installiert ist läuft das Script von slinger da auch nicht (einfach so).

Plus: Was genau misst dieses Script?
Der HDD-Test z.B. geht nicht auf Caches ein, und wenn ich das Script von einer Ramdisk aus starte wird es wohl beim HDD-Test tolle Werte bringen.
(Ich muss zugeben, daß ich Python nicht kenne, aber so komplex ist das Script ja nicht.)


Kurz: Das Script ist ganz nett, aber eine echte, reproduzierbare Aussage scheint es mir nicht zu treffen.
Wenn man es bei drei verschiedenen Gelegenheiten ausführt wird man vermutlich deutlich unterschiedliche Werte bekommen.


Und was deine Liste von Vorteilen des Scriptes angeht:
- Phoronix läuft auch auf vielen Betriebssystemen (nicht auf Windows, jaja)
- die Test Suite ist auch anpassbar
- die Test Suite setzt ausser PHP auch nur Basics voraus

+ die Test Suite testet deutlich mehr Funktionen
 
T43

Ok, dann Reihe ich mich mal ein: (Python: 2.5.2/Linux: 2.6.22)
Code:
CPU Test
Durchgang 1 2.9091861248 Sekunden
Durchgang 2 2.91036891937 Sekunden
Durchgang 3 2.90999698639 Sekunden 
Durchgang 4 2.90955805779 Sekunden
Durchgang 5 2.90765190125 Sekunden
Durchgang 6 2.91082191467 Sekunden
Durchgang 7 2.90787601471 Sekunden
Durchgang 8 2.9099881649 Sekunden
Durchgang 9 2.91105699539 Sekunden
Gesamt: 26.1866841316 Sekunden
Durchschnitt: 2.90961167547 Sekunden
RAM Test
Durchgang 1 0.663634061813 Sekunden
Durchgang 2 0.650907039642 Sekunden
Durchgang 3 0.651644945145 Sekunden
Durchgang 4 0.653448104858 Sekunden
Durchgang 5 0.651232004166 Sekunden
Durchgang 6 0.651341199875 Sekunden
Durchgang 7 0.652974843979 Sekunden
Durchgang 8 0.652153015137 Sekunden
Durchgang 9 0.651615858078 Sekunden
Gesamt: 6.15372920036 Sekunden
Durchschnitt: 0.653216785855 Sekunden
HDD Test
Durchgang 1 1.93417096138 Sekunden
Durchgang 2 1.93801307678 Sekunden
Durchgang 3 1.93656897545 Sekunden
Durchgang 4 1.9383161068 Sekunden
Durchgang 5 1.93527793884 Sekunden
Durchgang 6 1.93890094757 Sekunden
Durchgang 7 1.93598508835 Sekunden
Durchgang 8 1.93968105316 Sekunden
Durchgang 9 1.93533706665 Sekunden
Gesamt: 17.4325199127 Sekunden
Durchschnitt: 1.93691680166 Sekunden
Der Test lief auf meinen T43 (2668-8AG) während ich in Opera surfte und xpenguins & xterm (für den Test) & ne handvoll wmWidgets liefen.

grüsse

butzel
 
Durchgang 1 4.16216492653 Sekunden
Durchgang 2 4.14620089531 Sekunden
Durchgang 3 4.16161203384 Sekunden
Durchgang 4 4.1507370472 Sekunden
Durchgang 5 4.16543507576 Sekunden
Durchgang 6 4.39288592339 Sekunden
Durchgang 7 4.50585794449 Sekunden
Durchgang 8 4.65079307556 Sekunden
Durchgang 9 4.39729785919 Sekunden
Gesamt: 38.7375230789 Sekunden
Durchschnitt: 4.3036649757 Sekunden
RAM Test
Durchgang 1 0.857054948807 Sekunden
Durchgang 2 0.834516048431 Sekunden
Durchgang 3 0.851323843002 Sekunden
Durchgang 4 0.835963010788 Sekunden
Durchgang 5 0.86419916153 Sekunden
Durchgang 6 0.98484992981 Sekunden
Durchgang 7 0.847487211227 Sekunden
Durchgang 8 0.844172954559 Sekunden
Durchgang 9 0.820478200912 Sekunden
Gesamt: 8.16330909729 Sekunden
Durchschnitt: 0.860005034341 Sekunden
HDD Test
Durchgang 1 2.46293187141 Sekunden
Durchgang 2 2.5098130703 Sekunden
Durchgang 3 2.76863098145 Sekunden
Durchgang 4 2.43090510368 Sekunden
Durchgang 5 2.4423801899 Sekunden
Durchgang 6 2.48751378059 Sekunden
Durchgang 7 2.42752718925 Sekunden
Durchgang 8 2.42844796181 Sekunden
Durchgang 9 2.43053603172 Sekunden
Gesamt: 22.3946330547 Sekunden
Durchschnitt: 2.48763179779 Sekunden

Ich hab auch noch so einen kleinen Schwanzlaengenvergleich hier: Ich hab 45.1cm ;)
#!/bin/sh
# Schwanzlaengenvergleich

LANG=en_EN.UTF-8

echo `uptime|grep days|sed 's/.*up \([0-9]*\) day.*/\1\/10+/'; \
cat /proc/cpuinfo|grep MHz|awk '{print $4"/30 +";}'; free|grep '^Mem' \
|awk '{print $3"/1024/3+"}'; df -P -k -x nfs | grep -v 1k \
| awk '{if ($1 ~ "/dev/(scsi|sd)"){ s+= $2} s+= $2;} END \
{print s/1024/50"/15+70";}'`|bc|sed 's/\(.$\)/.\1cm/'
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben