tags:

views:

251

answers:

2

if I run python on a 64bit machine with a 64bit operating system, will my programs be able to access the full range of memory? I.e. Could I build a list with 10billion entries, assuming I had enough RAM? If not, are there other programming languages that would allow this?

+3  A: 

The language python itself has no such restrictions, but perhaps your operating system or your python runtime (pypy, cpython, jython) could have such restrictions.

What combination of python runtime and OS do you want to use?

Johannes Weiß
actually, I don't mind. I have an application that I'm working on now (partly in Matlab and partly in Python) which is running into memory limitations, and I want to plan a move to 64bit. I wasn't sure whether Python would be the right language, but from that you say, it sounds like it should be ok.
Ben
+5  A: 

You'll need to be sure that Python has been built as a 64 bit application. For example, on Win64 you'll be able to run the 32bit build of Python.exe but it won't get the benefits of the 64 bit environment as Windows will run it in a 32bit sandbox.

Sean
Does that mean I would be better off running it on Linux? Or can I build a 64 bit Windows exe for Python?
Ben
There's already one available at http://www.python.org/ftp/python/3.0.1/python-3.0.1.amd64.msiThey've called the install amd64 as recognition of the fact that AMD created the 64bit instruction set. The install will work on Intel and AMD CPUs
Sean
There's also a Python 2.6.1 64bit version at http://www.python.org/ftp/python/2.6.1/python-2.6.1.amd64.msi
Sean
Excellent. Thanks Sean.
Ben