[Tutor] job killed: too high numbers?

Gabriele Brambilla gb.gabrielebrambilla at gmail.com
Tue Sep 20 12:52:09 EDT 2016


Hi,

The number was high but it was only a sort of test.now I learned how it
works,

thanks

Gb

On Sep 20, 2016 12:48 PM, "Matt Ruffalo" <matt.ruffalo at gmail.com> wrote:

> Hello-
>
> On 2016-09-20 11:48, Gabriele Brambilla wrote:
> > does it mean that my number of points is too high?
>
> In short, yes. From your usage of the 'print' statement, you are running
> the code under Python 2.x. In this version of Python, the 'range'
> function creates a full list of numbers, and so you are asking 'range'
> to create a list of 33.8 billion integers. Python lists are essentially
> implemented in C as dense arrays of pointers to PyObject structs, so in
> addition to the actual numeric values, you will need eight bytes per
> value in the list (assuming a 64-bit OS and Python build). This is
> already 270GB of memory just for these pointers, in addition to the
> actual numeric values, which might take up to an additional 135GB (if
> each numeric value is stored as a 32-bit integer). Are you running this
> on a machine with ≥405GB memory?
>
> To solve your immediate problem, you could replace 'range' with 'xrange'
> in your code, but this will probably only allow you to encounter another
> problem: this loop will take a *very* long time to run, even without
> doing any numerical work inside it. Unfortunately, there's no way to
> suggest any algorithm/numerical analysis improvements without more
> information about what you're trying to accomplish.
>
> MMR...
>


More information about the Tutor mailing list