i386 oder A64

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
Oesi
Beiträge: 81
Registriert: 15.06.2004 13:57:04
Wohnort: Linz

i386 oder A64

Beitrag von Oesi » 06.11.2006 19:37:31

Guten Abend allerseits,

jetzt hab ich mir auf einer bis dahin ungenutzen Ecke meiner Platte ubuntu 6.10 installiert, und zwar die meiner CPU angemessene 64-Bit-Version, während mein Etch noch das 32-Bit-Dasein fristet.
Nun ist man ja neugierig, wie viel Unterschied das ausmacht. Viel, sollte man meinen.
Also folgender Benchmark: Ein Ordner mit etwa 400MB Photos soll mit tar gepackt werden:

Code: Alles auswählen

time tar czf test.tar.gz PhotosXYZ
in 64-Bit ubuntu:
real 0m43.556s
user 0m30.862s
sys 0m2.512s

in 32-Bit Etch:
real 0m48.091s
user 0m37.898s
sys 0m2.468s
Da ist Ubuntu ja nur um etwa 10% schneller... Kann mir jemand sagen, warum?

LiGrü Ösi
vouloir etre de son temps, c'est deja etre depasse
(E. Ionesco)

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 06.11.2006 21:10:43

Laut AMD soll der "legacy-" bzw "compatibility mode" keine Performance-Nachteile bringen, nur die neuen Features, vorallem die höhere Anzahl an Registern, können natürlich nicht genutzt werden.
Zu beachten ist auch noch, daß unter 32 bit Debian, alle Programme 386 kompatibel gebaut wurden. Du kannst also sogar noch ein paar Prozentpunkte abziehen, sprich auf einem optimierten 32 bit Gentoo System würde der Unterschied sicherlich noch geringer ausfallen.

Gruß
gms

Benutzeravatar
hitch
Beiträge: 856
Registriert: 21.12.2001 23:38:24
Wohnort: Im Exil

Beitrag von hitch » 06.11.2006 22:08:10

hi

Hast du erwartet 64 Bit doppelte Leistung als 32 Bit?

Die Vorteile sind eher die schnellere Verarbeitung von langen Intergerwerten und der größere Adressraum. Wobei der große Adressraum auch den Nachteil hat, den Cache schneller voll zu machen.
Um die speziellen Eigenschaften der 64Bit-CPUs auzunutzen muss der Code auch entsprechent optimiert sein.

http://de.wikipedia.org/wiki/64-Bit-Architektur
http://de.wikipedia.org/wiki/AMD64

gruss
marcus

Benutzeravatar
Oesi
Beiträge: 81
Registriert: 15.06.2004 13:57:04
Wohnort: Linz

Beitrag von Oesi » 07.11.2006 07:50:27

Also doppelte Leistung habe ich jetzt nicht direkt erwartet, aber ein bisschen mehr halt. Mein letzter Kontakt mit Maschinensprache liegt etwa 15 Jahre zurück (am Z80), also stelle ich mir das wohl ein bißchen zu einfach vor: Ich dachte, dass der Code vor allem durch das Kompilieren auf der 64er-Plattform optimiert wird. (Dass also der Compiler für die Übersetzung der Hochsprachenbefehle am 64er effizientere Asm-Routinen zur Verfügung hat)
Wenn das aber schon direkt beim Programmieren geschehen muss, heißt das also, dass man im Prinzip die ganze rechenintensive Software from the scratch neu für den AMD64 programmieren müsste? Oder ist das eh schon passiert?

LiGrü
Ösi
vouloir etre de son temps, c'est deja etre depasse
(E. Ionesco)

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 07.11.2006 09:16:44

Oesi hat geschrieben:Ich dachte, dass der Code vor allem durch das Kompilieren auf der 64er-Plattform optimiert wird.
das ist ja auch richtig so, nur deine Erwartungshaltung dürfte ganz einfach zu groß gewesen sein.

[edit]
eines möchte ich auch noch anmerken: du hast hier einen sehr IO intensiven Test für deine "Performancemessungen" gewählt
[/edit]

Gruß
gms

Benutzeravatar
Oesi
Beiträge: 81
Registriert: 15.06.2004 13:57:04
Wohnort: Linz

Beitrag von Oesi » 07.11.2006 11:52:51

Stimmt - wahrscheinlich hat v. a. die Plattenleistung gebremst. Was würdet ihr mir denn stattdessen empfehlen? Kernel kompilieren?

LiGrü
vouloir etre de son temps, c'est deja etre depasse
(E. Ionesco)

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 07.11.2006 13:37:09

Oesi hat geschrieben:Was würdet ihr mir denn stattdessen empfehlen? Kernel kompilieren?
Gute Idee, hat aber leider einen Hacken. Es werden zum Teil andere Sourcen verwendet (siehe "arch" Verzeichnis)

Du könntest z.B. folgendes probieren::
"openssl speed" oder "dd if=/dev/urandom bs=1024 count=10000" | md5sum"
[edit]
Ersteres macht aber die Auswertung etwas komplizierter.
[/edit]

Gruß
gms

Benutzeravatar
Oesi
Beiträge: 81
Registriert: 15.06.2004 13:57:04
Wohnort: Linz

Beitrag von Oesi » 07.11.2006 19:09:02

also bei dd ist der Unterschied schon deutlicher:
habe statt der vorgeschlagenen 10,000 gleich 100,000 Datensätze durchrattern lassen, um auf ein gleichmäßigeres Ergebnis zu kommen, also mit

Code: Alles auswählen

dd if=/dev/urandom bs=1024 count=100000 | md5sum
(Im obigen Code hatte sich übrigens ein Anführungszeichen zuviel verirrt)
mit dem Ergebnis
64-Bit:
102400000 Bytes (102 MB) kopiert, 19,4627 Sekunden, 5,3 MB/s

32-Bit:
102400000 Bytes (102 MB) kopiert, 26,119 Sekunden, 3,9 MB/s
also um ca. ein Drittel schneller. Das is ja wohl was, oder?

LiGrü
vouloir etre de son temps, c'est deja etre depasse
(E. Ionesco)

Antworten