Athlon 64 Performance! (Erfahrungswerte gesucht!)
Hi Leute! Ich überlege mir, ob ich mir einen Athlon 64 zulegen soll! Ist ja ganz nietlich son teil, was mir nur nicht gefällt, ist, dass es den nur mit 2 oder 2,2 GHZ im erschwiglichen bereich gibt! falls ich keine augen im kopf hab, und da etwas nciht gelesen habe, berichtigt mich bitte! Jo, also der kommt da nun mit 2GHZ her! Das ist ja für die heutigen rechner gar nciht so viel! Ist es Überhaupt sinnvoll sich so eine Maschine zu holen? Ich möchte da drauf bisschen programmieren, schreiben, und (wenn es mit winex dann läuft) spielen(d..h sowas wie counter-strike oder so)! Besitzt von euch jemand ein 64 Bit System, und könnte mir eventuell mal son persönlichen eindruck geben? Die c't kann viel testen, aber mich interessiert das feeling, was das Sytsem im alltäglichen Gebrauch so mit sich bringt! z.B. programme starten oder spielen! beim schreiben wird sich ja nciht viel zeigen! Vieleicht könntet ihr mir auch das verwendete board verraten! wäre vieleicht auch hilfreich... jede Antwort hilft weiter! mfg jan
On Monday 12 January 2004 22:26, Jan Hendrik Berlin wrote:
Hi Leute!
Ich überlege mir, ob ich mir einen Athlon 64 zulegen soll! Ist ja ganz nietlich son teil, was mir nur nicht gefällt, ist, dass es den nur mit 2 oder 2,2 GHZ im erschwiglichen bereich gibt! falls ich keine augen im kopf hab, und da etwas nciht gelesen habe, berichtigt mich bitte!
Jo, also der kommt da nun mit 2GHZ her! Das ist ja für die heutigen rechner gar nciht so viel! Ist es Überhaupt sinnvoll sich so eine Maschine zu holen?
Ich möchte da drauf bisschen programmieren, schreiben, und (wenn es mit winex dann läuft) spielen(d..h sowas wie counter-strike oder so)!
Dafür braucht es kein Athlon 64 - in ein Paar Monaten werden die wohl billiger. Die Ghz Sache ist ja Werbung für den Dummen Kunden! Ich habe hier (seit anderthalb Jahren!) einen Doppel-Athlon mit 2x 1.5 Ghz (werden ja auch 1800+ genannt ;) - SMP bringt meiner Meinung nach mehr als einen teueren aber einzigen Spitzenprozessor mit &ç Bit bei Programmen die meistens sowieso nur für 32 Bit geschrieben wurden. Aber das ist ja auch nur meine Meinung! Thierry -- "Only two things are infinite, the universe and human stupidity, and I'm not sure about the former" - Albert Einstein
Am Montag, 12. Januar 2004 23:26 schrieb Jan Hendrik Berlin:
Jo, also der kommt da nun mit 2GHZ her! Das ist ja für die heutigen rechner gar nciht so viel! Ist es Überhaupt sinnvoll sich so eine Maschine zu holen?
naja, lese Dir mal die Background Berichte über die Prozessorarchitektur durch. Du wirst sehen, das die Taktfrequenz kein Masstab für Performance ist. In der CT waren eine Menge guter Berichte in den letzten 12 Monaten darüber drin. cu stonki -- www.stonki.de: the more I see, the more I know....... www.proftpd.de: Deutsche ProFTPD Dokumentation www.krename.net: Der Batch Renamer für KDE www.kbarcode.net: Die Barcode Solution für KDE
Jan Hendrik Berlin
Jo, also der kommt da nun mit 2GHZ her! Das ist ja für die heutigen rechner gar nciht so viel! Ist es Überhaupt sinnvoll sich so eine Maschine zu holen?
Reine Taktzahlen sagen so gut wie überhaupt nichts über die Leistung eines Prozessors aus! Nicht umsonst bezeichnet AMD den mit 2,2 GHz getakteten Athlon64 als 3400+. Zitat aus der aktuellen c't (Seite 68): "Den Pentium 4 mit 3,2 GHz hängt der 3400+ in vielen Benchmarks wie dem SPEC CPU2000 oder den meisten 3D-Spielen ab"
Besitzt von euch jemand ein 64 Bit System, und könnte mir eventuell mal son persönlichen eindruck geben? Die c't kann viel testen, aber mich interessiert das feeling, was das Sytsem im alltäglichen Gebrauch so mit sich bringt! z.B. programme starten oder spielen! beim schreiben wird sich ja nciht viel zeigen!
Ich habe nur Erfahrungen mit Opteron-Systemen und die spielen als Serversysteme in einer ganz anderen Klasse. Aber wenn ich mir in absehbarer Zeit einen neuen Rechner leiste, dann mit Sicherheit einen mit Athlon64.
Vieleicht könntet ihr mir auch das verwendete board verraten!
Siehe aktuelle c't Seite 150 :) Philipp
Aha! Also das die Taktfrquenz nicht unbedingt auschlaggebend ist, hab ich auch schonmal mitbekommen, aber mir war nicht klar, dass man mit 2,2GHz eine 3,2GHz Maschine abhängen kann!
Zitat aus der aktuellen c't (Seite 68): "Den Pentium 4 mit 3,2 GHz hängt der 3400+ in vielen Benchmarks wie dem SPEC CPU2000 oder den meisten 3D-Spielen ab"
da muss ich mir miene c't nohmal genauer anschauen! aber in der Grafik unten auf S.68 sieht das nicht so toll für den Athlon 64 aus! Der Pentium hat doch fast immer die Nase vorne!
Ich habe nur Erfahrungen mit Opteron-Systemen und die spielen als Serversysteme in einer ganz anderen Klasse. Aber wenn ich mir in absehbarer Zeit einen neuen Rechner leiste, dann mit Sicherheit einen mit Athlon64.
Was würdest du denn so an deinem neuen Athloin 64 machen? hat der dann ähnliche augfgaben wie beimir, oder beanspruchst du die Kiste intensiver?
Vieleicht könntet ihr mir auch das verwendete board verraten!
Siehe aktuelle c't Seite 150 :)
Dadurch bin ich ja erst auf die Idee gekommen.... Ich möshte gerne wissen, für Boards bei den Leuten hier so im Einsatz sind, und wie zufrieden sie damit sind! :) Die anderen beiden Antworten hab ich auch gelesen! Danke für die Rückmeldungen! mfg Jan
Zitat aus der aktuellen c't (Seite 68): "Den Pentium 4 mit 3,2 GHz hängt der 3400+ in vielen Benchmarks wie dem SPEC CPU2000 oder den meisten 3D-Spielen ab"
da muss ich mir miene c't nohmal genauer anschauen! aber in der Grafik unten auf S.68 sieht das nicht so toll für den Athlon 64 aus! Der Pentium hat doch fast immer die Nase vorne! Das hab ich nu gemacht, und da schenidet der Athlon 64 im Text in fast allen Kathegorien besser ab! In der Grafik kann man das aber nicht erkennen!
mfg JAn
Hallo Jan, Am Die, den 13.01.2004 schrieb Jan Hendrik Berlin um 16:45:
Aha! Also das die Taktfrquenz nicht unbedingt auschlaggebend ist, hab ich auch schonmal mitbekommen, aber mir war nicht klar, dass man mit 2,2GHz eine 3,2GHz Maschine abhängen kann!
Es geht hier nicht ums Abhängen. Zwei CPUs kannst Du nicht wie zwei Rennwagen gegenüber stellen. Eine 32Bit CPU arbeitet mit 32 Bit Wörtern innerhalb der Register. Eine 64 Bit CPU kann _doppelt- so große Wörter in die CPU laden und verarbeiten. Aus diesem Grund sind beide CPUs gar nicht über die Taktfrequenz vergleichbar. Am deutlichsten wird das wohl, wenn man PPC gegen x86 vergleichen will. Eine PPC CPU mit 800MHz ist unter keinen Umständen mit einer 800MHz x86 CPU vergleichbar. Ganz andere Befehlssatzarchitekturen (RISC versus CISC) machen Vergleiche über die Taktfrequenz zur reinen Marketingfarce.
Zitat aus der aktuellen c't (Seite 68): "Den Pentium 4 mit 3,2 GHz hängt der 3400+ in vielen Benchmarks wie dem SPEC CPU2000 oder den meisten 3D-Spielen ab"
Das Schlüsselwort sollte hier wohl "in vielen" sein. Eine CPU kann ihre Stärken nur ausspielen, wenn die Software mit der gemessen wird auch die besonderen Fähigkeiten der CPU nutzt. Du wirst von einer 64Bit CPU nicht viel bemerken, wenn Du als Basissystem Windows XP oder ein normales SuSE 9.0 benutzt. Ich behaupte mal, dass es heute wahrscheinlich nicht ein einziges Spiel auf dem Markt gibt, das auf die besondere 64Bit Architektur zurückgreift, da das Basissystem Windows XP, auf dem die meisten Spiele laufen eine 32Bit Software ist und die aktuelle DirectX Version und OpenGL nicht auf 64Bit geschneidert sind. Zumal bei Spielen die CPU ohnehin nicht mehr die erste Geige spielt. Ich halte den Kauf einer 64Bit CPU aus den von Dir genannten Gründen für reine Geldverschwendung. Du bist besser bedient, wenn Du eine mainstream CPU kaufst und Dir von der gesparten Preisdifferenz eine bessere Peripherie gönnst, beispielsweise eine stärkere 3D Karte oder mehr Arbeitsspeicher, einen RAID Controller etc. Solange Du keine 64Bit Software benutzt, macht diese Anschaffung nur Sinn, wenn Du den AMD Kurs nach oben treiben willst. Mir wäre das Geld für eine 64Bit CPU einfach zu teuer. Grüße, Tobias
Hallo, Am Tue, 13 Jan 2004, Tobias Weisserth schrieb:
Solange Du keine 64Bit Software benutzt, macht diese Anschaffung nur Sinn, wenn Du den AMD Kurs nach oben treiben willst.
SuSE fuer AMD64 existiert und laeuft offenbar stabil. Und die Preisdifferenz ergibt sich eher aus den teureren MoBos. Z.B. kosten z.Z. (ca. Preise): Athlon64 3200+ 300.- P4 3.06 300.- -dnh -- Jemand, der "NT" nutzt, ist kein Sysadmin, sondern ein Reboot-Sklave. Und wenn er einen MCSE hat, dann ist er zertifizierter Bootmanager.
Tobias Weisserth
Du wirst von einer 64Bit CPU nicht viel bemerken, wenn Du als Basissystem Windows XP oder ein normales SuSE 9.0 benutzt.
Generell natürlich nicht. Aber die Besonderheiten der AMD64 Prozessoren machen den Athlon64 zu einem vollgültigen Konkurrenten des P4, der bereits unter Windows einen gleichwertigen P4 (also z.B. P4 3,2 GHz gegen Athlon64 3200+) in vielen Kategorien überflügelt.
Ich behaupte mal, dass es heute wahrscheinlich nicht ein einziges Spiel auf dem Markt gibt, das auf die besondere 64Bit Architektur zurückgreift,
Muss es auch gar nicht! Das ist ja eines der Hauptargumente, mit denen AMD für ihre AMD64 Plattform wirbt.
Zumal bei Spielen die CPU ohnehin nicht mehr die erste Geige spielt.
Die erste Geige nicht, aber definitiv die zweite. Eine High-End-Grafikkarte nützt dir nichts, wenn die CPU die Daten nicht schnell genug anliefern kann.
Ich halte den Kauf einer 64Bit CPU aus den von Dir genannten Gründen für reine Geldverschwendung. Du bist besser bedient, wenn Du eine mainstream CPU kaufst und Dir von der gesparten Preisdifferenz eine bessere Peripherie gönnst
Ich darf nochmal die c't zitieren: "Beide Neulinge arbeiten im Schnitt schneller als gleich teure Intel-Prozessoren, der 3000+ hängt zudem seinen Vorgänger Athlon XP deutlich ab". Sprich, wenn man ~ 240 Euro für einen Prozessor ausgeben will, ist man mit einem Athlon64 am besten bedient, selbst wenn man ihn nur 32 bittig betreibt. Ob man allerdings so viel Geld für einen Prozessor ausgeben will, ist eine ganz andere Frage. Zumal solche Prozessoren ein sorgfältig auf sie abgestimmtes System brauchen, um ihre Leistung voll entfalten zu können. Philipp
Hallo Jan Hendrik Berlin und andere Mitleser:
Besitzt von euch jemand ein 64 Bit System, und könnte mir eventuell mal son persönlichen eindruck geben? Die c't kann viel testen, aber mich interessiert das feeling, was das Sytsem im alltäglichen Gebrauch so mit sich bringt! z.B. programme starten oder spielen! beim schreiben wird sich ja nciht viel zeigen! Vieleicht könntet ihr mir auch das verwendete board verraten! wäre vieleicht auch hilfreich...
Also, als rein subjectiven vergleich kann ich Dir P4 (2GHZ) mit 266Hz DDR-Ram und einen Opteron240 mit 333Hz DDR-Ram gleiche hd u. cdrom anbieten. Bevor ich den 2.ten Opti eingebaute, habe ich beim Rippen der gleichen CD und lame einstellungen 100% Prozezzorauslastung bei P4 gegenüber 70% bei dem Opteron gehabt. OS waren SuSE9.0 beim Opteron die 64bit. Dieser Vergleich ist natürlich wenig aussagekräftig. Mir gefällt an den 64er Modellen der robuste Aufbau (kein offenes Die), die freien Quellen von den Opterons und zugehörigem Chipset, die Zusammenarbeit von AMD und SuSE, teilweise Fertigung in Dresden, ich wollte ein dual system. Ein Nachteil ist, bedingt durch den Teiler, werden Ram's nicht effectiv genutzt. Ein 333er bei 1400Mhz (Opteron240) läuft mit ca. 163Mhz und bei 2000Mhz (Opteron246) sind es die 166,6Mhz wie vorgesehen. Bei 400er Ram's passt es wieder, die ersten Opterons laufen damit nicht. Ab Opteron246 und einem Bios Update laufen 400Hz DDR-Ram, bei 64er Athlon von Haus aus. Mit der 64bit SuSE bin ich sehr zufrieden nur wenige Ausnahmen wie acrobat-reader, moneyplex und Realplayer ist alles 64bit. Meine Boards sind das Tiger K8W (2875) von Tyan. Super Service. (ja war schon eins defekt, wird in ersten 30Tagen immer gegen neu getauscht) Erreichbare deutsche Hotline und guter Linux Support. Nicht 64bit typisch aber bei neuem System vorsicht mit SATA-hd, die Linux-Treiber für die Controller machen Probleme oder es gibt keine. (siehe: suse-amd64@suse.com) -- Ciao Marco, registered GNU/Linux-User 313353 Keine Macht George W.Bush und seiner Junta zur Ausbeutung, Unterdrückung, Weltmacht &'BigBrother-watching'; kauft keine U$-Waren!
* Jan Hendrik Berlin
Ich überlege mir, ob ich mir einen Athlon 64 zulegen soll! Ist ja ganz nietlich son teil, was mir nur nicht gefällt, ist, dass es den nur mit 2 oder 2,2 GHZ im erschwiglichen bereich gibt! falls ich keine augen im kopf hab, und da etwas nciht gelesen habe, berichtigt mich bitte!
wie schaut's eigentlich mit dem Speicherbedarf aus. Bei Athlon 64 ist ja die Größe eines Zeigers doppelt so groß. Macht das in der Summe sehr viel aus? Ich habe jetzt keine Statistik zur Hand wieviel Prozent eines durchnittlichen Programmes Zeigervariablen sind. Gruß, Bernhard -- Man kann keine Fehler beim Abtrennen einer Sig machen, da eine falsch abgetrennte Sig keine Sig mehr ist und folglich auch nicht korrekt abgetrennt werden muss. -- Jan Weseler in dagh-l
* Bernhard Walle (Bernhard.Walle@gmx.de) [20040114 22:16]:
wie schaut's eigentlich mit dem Speicherbedarf aus. Bei Athlon 64 ist ja die Größe eines Zeigers doppelt so groß.
Nicht nur Zeiger sind 64 Bit, auch (unsigned) long ist 64 Bit. Deshalb
bekommst du bei allen Stellen, an denen Zeiger <-> int Casts vorkommen eine
Warnung, da sich die Grössen unterscheiden (int = 32 Bit, Zeiger = 64 Bit).
Philipp
--
Philipp Thomas
* Philipp Thomas
* Bernhard Walle (Bernhard.Walle@gmx.de) [20040114 22:16]:
wie schaut's eigentlich mit dem Speicherbedarf aus. Bei Athlon 64 ist ja die Größe eines Zeigers doppelt so groß.
Nicht nur Zeiger sind 64 Bit, auch (unsigned) long ist 64 Bit. Deshalb bekommst du bei allen Stellen, an denen Zeiger <-> int Casts vorkommen eine Warnung, da sich die Grössen unterscheiden (int = 32 Bit, Zeiger = 64 Bit).
sowas ist ja auch böse [tm]. Mir ging es halt mehr um den Speicherbedarf eines Programms. longs kommen ja so häufig nicht vor, der am meisten verwendete Datentyp bei "normalen" Programmen dürfte int und Zeiger auf irgendwas der häufigste Typ sein. BTW: Wie groß ist eigentlich dort time_t? Gruß, Bernhard -- _________ http://www.bwalle.de _________________________________________________ Die Arbeit ist ein Segen, der wie ein Fluch aussieht. -- Paul Auster
Bernhard Walle schrieb:
[...] Mir ging es halt mehr um den Speicherbedarf eines Programms. longs kommen ja so häufig nicht vor, der am meisten verwendete Datentyp bei "normalen" Programmen dürfte int und Zeiger auf irgendwas der häufigste Typ sein.
Es sind nicht nur die einfachen Datentypen, die ihren Beitrag leisten. structs und Klassen könnten für ihre Member Alignment z.B. an 8-Byte-Grenzen annehmen (ist unter Windows häufig der Fall; unter Linux dürfte es ähnlich sein). An 8-Byte-Grenzen ausgerichtete Daten sollten auf einer 64Bit-Maschine genau so viel Speicherplatz verbrauchen wie auf 32Bit. Anders sähe es aus, wenn Ausrichtung an kleineren Grenzen oder gar gepackte Datenstrukturen die Regel wären. Dann würde sich der Speicherverbrauch fast verdoppeln. Bei den meisten Programmen dürften allerdings Strings den Großteil des Speicherverbrauchs ausmachen. Ich würde mal stark davon ausgehen, daß ein einzelnes Zeichen auch unter 64Bit nur ein bzw. zwei Bytes (Unicode) in Anspruch nimmt. -- Viele Grüße, Alex
jo, jetzt brauchen wir also mehr speicher bei einer 64 Bit Maschine! Ist der im Athlon64 drin, oder stellt das einPerformance Problem da??? Hat das Nachteile? mfg Jan
Hallo, Am Thu, 15 Jan 2004, Jan Hendrik Berlin schrieb:
jo, jetzt brauchen wir also mehr speicher bei einer 64 Bit Maschine!
Nem Athlon64 sollte man so oder so 512 MB (2x256MB) goennen. Und das sollte reichen (oder gleich 2x512 MB ;).
Ist der im Athlon64 drin, oder stellt das einPerformance Problem da??? Hat das Nachteile?
Der Athlon64 hat recht grosse L1 und L2 Caches und der RAM-Controller "is auch scho drin" und somit schnell... Jedenfalls, ein Athlon64 3200+ ist etwa so schnell wie ein P4 3.2 GHz in den meisten Anwendungsfaellen. Oder schneller. Und bei 64bit unter Linux sowieso. Und das mit 2.0 GHz! Am Takt wird AMD sicher in der naechsten Zeit wesentlich mehr schrauben koennen als Intel[1], wenn du also nen Board mit Sockel 939 kaufst, dann duerfte das vergleichsweise "zukunftssicher" sein. Schau mal in die aktuelle c't. Fazit von as war IIRC: der schnellste AMD. Auch mit 32bit Software... IMO ist AMD wieder ein "grosser Wurf" gelungen ;) -dnh [1] nehmen wir das jetztige Verhaeltnis 3:2. Wenn AMD in sagen wir nem Jahr auf 3.0 GHz kommt, dann muesste Intel schon bei 5.5 GHz sein! Und das wird von der Physik her sehr schwierig fuer Intel. Noch effektiver (Wumms / MHz) ist allerdings der PPC 970 (normal dual-core, aber besser bekannt in der single-core Version als G5 in Apple-PCs) allerdings dem Athlon64 auch ueberlegen. Bei Apple gibt's aber andere "Probleme" was die "Aufruestbarkeit" angeht. -- Auch ich rate von Sandpapier dringend ab! Ein Fehler, der, besonders von Anfängern, immer wieder gemacht wird! Ein Spritzer Pril auf 1/2 Tasse Java Kaffee und damit spülen - das ist IMO wesentlich schonender. [Olaf Andersen erklärt das Putzen einer Festplatte in suse-linux]
David Haller wrote:
[...] [1] nehmen wir das jetztige Verhaeltnis 3:2. Wenn AMD in sagen wir nem Jahr auf 3.0 GHz kommt, dann muesste Intel schon bei 5.5 GHz sein! Und das wird von der Physik her sehr schwierig fuer Intel. [...]
Was ich nicht verstehe: Bei Intel-Boards + CPU steht immer was von FSB 800 oder so. Und bei AMD was mit 333. Das is doch ein gewaltiger Unterschied. Bringt das Intel nichts? Is das nicht wichtig für die Performance? Allein wegen diesem FSB war ich schon kurz davor, n Intel zu kofen...
Hallo, Am Fri, 16 Jan 2004, Christian Z. schrieb:
David Haller wrote:
[...] [1] nehmen wir das jetztige Verhaeltnis 3:2. Wenn AMD in sagen wir nem Jahr auf 3.0 GHz kommt, dann muesste Intel schon bei 5.5 GHz sein! Und das wird von der Physik her sehr schwierig fuer Intel. [...]
Was ich nicht verstehe: Bei Intel-Boards + CPU steht immer was von FSB 800 oder so. Und bei AMD was mit 333. Das is doch ein gewaltiger Unterschied. Bringt das Intel nichts?
Schon...
Is das nicht wichtig für die Performance?
... ja, zum Teil...
Allein wegen diesem FSB war ich schon kurz davor, n Intel zu kofen...
FSB800 (Intel) == 200 MHz "quad pumped", 4 Byte / Takt FSB533 (Intel) == 133 MHz "quad pumped", 4 Byte / Takt FSB400 (Intel) == 100 MHz "quad pumped", 4 Byte / Takt FSB400 (AMD) == 200 MHz "dual pumped", 2 Byte / Takt FSB333 (AMD) == 166 MHz "dual pumped", 2 Byte / Takt FSB266 (AMD) == 133 MHz "dual pumped", 2 Byte / Takt Praxisrelevant ist aber eigentlich primaer die Anbindung des RAM, und da geben sich die Varianten Intel vs. AMD nicht viel. Wichtiger ist, dass du den Speicher auf den FSB der CPU auslegst, und ggfs. bei "Dual Channel" 2 identische RAM-Module verwendest. AFAIK ist der "FSB" beim AMD Athlon64 (und von dem haben wir's ja grad eigentlich) quasi irrelevant, da der seinen eigen RAM-Controller mitbringt, der FSB ist also nur "fuer den Rest" relevant. Kannst du deine Frage/Anforderungen spezifizieren? -dnh -- Idiot, n.: A member of a large and powerful tribe whose influence in human affairs has always been dominant and controlling. -- Ambrose Bierce, "The Devil's Dictionary"
Philipp Thomas schrieb: [...]
Nicht nur Zeiger sind 64 Bit, auch (unsigned) long ist 64 Bit. Deshalb bekommst du bei allen Stellen, an denen Zeiger <-> int Casts vorkommen eine Warnung, da sich die Grössen unterscheiden (int = 32 Bit, Zeiger = 64 Bit).
Bist du sicher das _int_ auf 'ner Atlon64-Maschine nur 32 Bit hat? Auf einer normalen 32Bit-Maschine ist _int_ genauso lang wie _long_, nämlich 32 Bit. Auf einer Solaris ist das auch so, und das ist eine 64Bit-Maschine. Viele Grüße Bastian
Bastian Schern
Bist du sicher das _int_ auf 'ner Atlon64-Maschine nur 32 Bit hat?
Nicht der Prozessor legt das fest sondern das Betriebssystem. Und das ABI für Linux auf AMD64 legt fest, das int 32 Bit hat und long 64 Bit, genau wie bei Linux für AXP (Alpha). Hol dir das Dokument von x86-64.org und lies nach, wenn du mir nicht glaubst :) Andere Betriebssysteme können das anders festlegen. So wird z.B. bei Windows64 nur long long 64 Bit haben, wohl aus Kompatibilitätsgründen. Philipp -- Philipp Thomas Arbeit: pth AT suse PUNKT de SUSE LINUX AG Privat: philipp PUNKT thomas AT t-link PUNKT de
Philipp Thomas schrieb: [...]
Nicht der Prozessor legt das fest sondern das Betriebssystem. Und das ABI für Linux auf AMD64 legt fest, das int 32 Bit hat und long 64 Bit, genau wie bei Linux für AXP (Alpha). Hol dir das Dokument von x86-64.org und lies nach, wenn du mir nicht glaubst :)
Ich glaub' dir das schon ;-). Da ich mir dabei ja oft nicht immer ganz so sicher bin, benutze ich in der Regel immer (u)int32_t und (u)int64_t, damit bin ich dann sicher, ob ich nun 64 oder 32 Bit habe.
Andere Betriebssysteme können das anders festlegen. So wird z.B. bei Windows64 nur long long 64 Bit haben, wohl aus Kompatibilitätsgründen.
Mir scheint, Linux ist da die einzige Ausnahme, bzw. das einzige OS, das es logisch macht ;-) Bastian
Bastian Schern
Da ich mir dabei ja oft nicht immer ganz so sicher bin, benutze ich in der Regel immer (u)int32_t und (u)int64_t, damit bin ich dann sicher, ob ich nun 64 oder 32 Bit habe.
Und nur in eher seltenen Fällen muss man wirklich wissen, wieviel Bits zur Verfügung stehen. Diese mit ISO C99 eingeführten Typen sind aber trotzdem sehr nützlich, schon weil inttypes.h auch einen intptr_t bietet, womit man immer einen Integerwert bekommt, in dem man ohne Verlust einen Zeiger speichern kann und das eben portabel.
Mir scheint, Linux ist da die einzige Ausnahme, bzw. das einzige OS, das es logisch macht ;-)
Irrtum! True64, aka OSF/1 auf Alpha verwendet das gleiche ABI. Es gibt auch ausserhalb von Linux vernünftige Betriebssysteme :) Philipp
participants (12)
-
Alexander Veit
-
Bastian Schern
-
Bernhard Walle
-
Christian Z.
-
David Haller
-
Jan Hendrik Berlin
-
Marco Maske
-
Philipp Thomas
-
Philipp Thomas
-
Stefan Onken
-
Thierry de Coulon
-
Tobias Weisserth