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
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.
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?
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
- 1. R nicht mehr als 4 GB Speicher verwenden
- 2. können nicht mehr als 10 GB persistent HTML5 Speicher zuteilen
- 3. wie kann JVM verwenden mehr als 4 GB Arbeitsspeicher
- 4. Können Flussaktionen auf Speicher zugreifen?
- 5. Zuweisung von mehr als 4 GB Speicher in einem 64-Bit-System
- 6. 64-Bit-Bibliothek auf 4 GB begrenzt?
- 7. Können andere Programme meine NSUserDefaults-Einstellungen lesen?
- 8. Auslastungstest zeigt nicht mehr als 4 GB für Working Set PerformanceCounter
- 9. Speicher von Terminen mit mehr-als-4-stellige Jahren
- 10. Mmap kann nicht mehr als 2 GB zusammenhängende Daten zuweisen
- 11. Linux: Kann nicht mehr als 32 GB/64 GB Speicher in einem einzigen Prozess aufgrund virtuellen Speicherlimits zuweisen
- 12. Erlaube 32-Bit-Anwendung mehr als 4 GB RAM unter FreeBSD zu verwenden
- 13. Lesen von Dateien größer als 4 GB mit C++ STL
- 14. Warum benötigt mein Programm nicht mehr als 2 GB RAM auf 64 GB RAM System?
- 15. Können wir der Spark APP mehr Speicher zuweisen, als selbst zu clustern?
- 16. Kann ich den Windows-Schalter boot.ini/3GB mit weniger als 4 GB physischem Speicher verwenden?
- 17. Meine erstellten Programme werden als Virus auf anderen Computern erkannt
- 18. Da ich nicht mehr als 4 GB Datenspeicher brauche, kann ich Oracle Express für meine Webanwendung verwenden?
- 19. Kann ein Upgrade von 2 GB auf 4 GB Stack Overflow-Ausnahmen verhindern?
- 20. ImageMagick mit mehr als 2 GB Speicher zum Konvertieren von PDF-Dateien
- 21. .Net Warum kann ich in einem x64-Prozess nicht mehr als 11 GB zugewiesenen Speicher abrufen?
- 22. Java-Anwendung verbraucht mehr und mehr Speicher, die manchmal bis zu 2 GB ist,
- 23. Operator new mehr Speicher Rückkehr als gebeten,
- 24. Ermitteln der Größe einer Datei größer als 4 GB
- 25. Delphi: Ich brauche neues Wissen (es gibt altes Wissen) auf, wie man meine Win32 App 4 GB Speicher auf 64bit Windows
- 26. Gibt es eine Möglichkeit, physischen Speicher über 4 GB auf Vista x64 zuzuweisen?
- 27. Zugreifen auf Daten aus mehr als einer Tabelle - SQL
- 28. Arbeitet javaw.exe in Windows 64 mehr Speicher?
- 29. Das JAR-Limit von 4 GB umgehen
- 30. Können alle Apps auf alle Dateien im isolierten Speicher auf einem gemeinsam genutzten asp.net-Server zugreifen?
Bedeutet das, dass ich besser auf Linux laufen würde? Oder kann ich eine 64-Bit-Windows-Exe für Python erstellen? – Ben
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
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