2009-02-19 5 views
6

Wenn ich Python auf einer 64-Bit-Maschine mit einem 64-Bit-Betriebssystem ausführen, können meine Programme auf den vollen Speicherbereich zugreifen? I.e. Könnte ich eine Liste mit 10 Milliarden Einträgen erstellen, vorausgesetzt, ich hätte genug RAM? Wenn nicht, gibt es andere Programmiersprachen, die dies erlauben würden?können meine Programme auf mehr als 4 GB Speicher zugreifen?

Antwort

7

Sie müssen sicherstellen, dass Python als 64-Bit-Anwendung erstellt wurde. Unter Win64 können Sie beispielsweise den 32-Bit-Build von Python.exe ausführen, aber die Vorteile der 64-Bit-Umgebung werden nicht genutzt, da Windows sie in einer 32-Bit-Sandbox ausführt.

+0

Bedeutet das, dass ich besser auf Linux laufen würde? Oder kann ich eine 64-Bit-Windows-Exe für Python erstellen? – Ben

+0

Es gibt bereits eine unter http://www.python.org/ftp/python/3.0.1/python-3.0.1.amd64.msi Sie haben die Installation amd64 als Anerkennung der Tatsache, dass AMD die erstellt 64-Bit-Befehlssatz. Die Installation funktioniert auf Intel und AMD CPUs – Sean

+0

Es gibt auch eine Python 2.6.1 64bit Version unter http://www.python.org/ftp/python/2.6.1/python-2.6.1.amd64.msi – Sean

3

Die Sprache Python selbst hat keine solchen Einschränkungen, aber möglicherweise Ihr Betriebssystem oder Ihre Python-Laufzeit (Pypy, Cpython, Jython) könnte solche Einschränkungen haben.

Welche Kombination von Python-Laufzeit und Betriebssystem möchten Sie verwenden?

+0

eigentlich stört mich das nicht. Ich habe eine Anwendung, an der ich gerade arbeite (teilweise in Matlab und teilweise in Python), die in Speicherbeschränkungen läuft, und ich möchte einen Umzug auf 64bit planen. Ich war mir nicht sicher, ob Python die richtige Sprache ist, aber davon sagt man, es klingt, als sollte es in Ordnung sein. – Ben

Verwandte Themen