2009-02-19 10 views
6

se eseguo python su una macchina a 64 bit con un sistema operativo a 64 bit, i miei programmi saranno in grado di accedere all'intero intervallo di memoria? Cioè Potrei costruire una lista con 10 miliardi di voci, supponendo che avessi abbastanza RAM? In caso contrario, ci sono altri linguaggi di programmazione che consentirebbero questo?i miei programmi possono accedere a più di 4 GB di memoria?

risposta

7

È necessario assicurarsi che Python sia stato creato come applicazione a 64 bit. Ad esempio, su Win64 sarete in grado di eseguire la compilazione a 32 bit di Python.exe ma non otterrà i benefici dell'ambiente a 64 bit poiché Windows lo eseguirà in una sandbox a 32 bit.

+0

Ciò significa che sarebbe meglio eseguirlo su Linux? Oppure posso creare un exe Windows a 64 bit per Python? – Ben

+0

Ce n'è già uno disponibile su http://www.python.org/ftp/python/3.0.1/python-3.0.1.amd64.msi Hanno chiamato l'installazione amd64 come riconoscimento del fatto che AMD ha creato il Set di istruzioni a 64 bit. L'installazione funzionerà su CPU Intel e AMD – Sean

+0

Esiste anche una versione Python 2.6.1 a 64 bit su http://www.python.org/ftp/python/2.6.1/python-2.6.1.amd64.msi – Sean

3

Il linguaggio python non ha tali restrizioni, ma forse il tuo sistema operativo o il tuo python runtime (pypy, cpython, jython) potrebbero avere tali restrizioni.

Quale combinazione di python runtime e OS si desidera utilizzare?

+0

in realtà, non mi dispiace. Ho un'applicazione su cui sto lavorando ora (in parte in Matlab e parzialmente in Python) che sta andando incontro a limiti di memoria, e voglio pianificare un passaggio a 64 bit. Non ero sicuro se Python fosse la lingua giusta, ma da quello che dici, sembra che dovrebbe essere ok. – Ben

Problemi correlati