2009-08-07 4 views
7

Gibt es bestimmte Bereiche von Software Engineer/Computer Science, bei denen ein deutlicher Unterschied bei der Entwicklung von 64-Bit-Systemen besteht? Ich habe jetzt seit etwa 10 Jahren programmiert, und seit dem Bruch von 64-Bit-Systemen hat sich mein Code nicht ein bisschen verändert.Wie entwickelt man die Vorteile von 64-Bit-Systemen?

Welche Anwendungen, die ein einzelner Codierer als Nebenprojekt codieren kann, erfordern die Verwendung der 64-Bit-Technologie?

Antwort

7

Alles, was mehr als 4 GB Arbeits-und Programmspeicher erfordert, würde sicherlich qualifizieren, da dies die maximale Menge an Speicher ist, die ein 32-Bit-System direkt adressieren kann.

Da sich 64-Bit-Zahlen in den CPU-Registern befinden können, würden Berechnungen, die Zahlen dieser Größen erfordern, zu einer Leistungsverbesserung führen.

2

Wir haben kürzlich einige unserer intern verwendeten Bibliotheken auf 64-Bit portiert. Der C-Code änderte sich überhaupt nicht; Wir mussten nur die 64-Bit-Versionen der Bibliotheken von Drittanbietern abrufen, mit denen wir verlinkt sind, und herausfinden, welche neuen Compiler-Direktiven wir verwenden mussten. Das größte Problem war es, 64-Bit-Versionen unserer Abhängigkeiten zu finden und unser Build-System so umzugestalten, dass es sowohl 32-Bit- als auch 64-Bit-Versionen verarbeiten konnte.

Das ist nicht zu sagen, dass andere Software keine Änderung erfordern würde. Wenn Sie beispielsweise Ihre Daten so verpacken, dass sie in Wortgrenzen passen, könnten Sie nun geneigt sein, sie beim Programmieren für ein 64-Bit-System anders zu packen.

2

Abgesehen von Adressraum oder großen Berechnungen hilft die Verdopplung Ihrer Wortgröße mehr in den Low-Level-Sachen, und vor allem für Leute, die Kernel-Hacking oder Gerätetreiber schreiben. Angenommen, Sie haben einen Datenstrom aus einer Netzwerkverbindung und müssen diese verarbeiten. Sie können diese Bytes jetzt vom Hauptspeicher zu den CPU-Registern 8 anstatt zu 4 ziehen. Aber ich würde denken, dass Sie eine "64-Bit-bewusste" String-Bibliothek benötigen, um dies auszunutzen.

Anekdotisch beobachteten wir eine Leistungssteigerung beim Upgrade von 32-Bit-SQL-Server auf 64-Bit-SQL-Server (2005) auf der gleichen Hardware (eine 64-Bit-Maschine).

0

Wenn Sie fragen müssen, werden Sie wahrscheinlich keinen Vorteil bekommen, da Sie vermutlich keine Annahmen über die Größe von Ints in Ihren Code einbauen. Nur wenige Anwendungsfälle und alle ziemlich niedrig, werden jede Beschleunigung sehen. Bignums und schwere Integer-Arithmetik bei sehr großen Zahlen werden schneller sein (wie Krypto).

Verwandte Themen