[Tutor] A Million Sevens
Chris Hengge
pyro9219 at gmail.com
Sat Nov 18 02:47:03 CET 2006
Not that it changes your reply, but just for my own sanity:
int('7' * 10 ** 6) <- does this not just type-cast a char into an int?
Meaning that rather then consuming 1024k as you stated, it would consume
2048k at the peak of the calculation(2bytes per char? * 1m = 2048k) then
typecasting to int would drop it back down to 1k (1byte per int * 1m = 1024k
So, just for sake of getting to a point since I missed the one by the
original poster.. why would you not convert that 7 from a char to an int
first? That calculation is almost instant, and it doesn't require the memory
rollercoaster that this calculation would require..
Anyways.. back to the poster...
Perhaps you wanted an error like this?
print '=' * 1000000000
Traceback (most recent call last):
File "<input>", line 1, in ?
MemoryError
On 11/17/06, Luke Paireepinart <rabidpoobear at gmail.com> wrote:
>
> Chris Hengge wrote:
> > I'm thinking you either have a problem with a memory leak (my memory
> > isn't changing, just at 100% CPU), or your CPU overheated from poor
> > cooling since it is at 100% utilization.
> yeah I second this...
> there's no reason why this would reboot your computer.
> At Chris: It's building a string that's 1,000,000 characters long, so it
> should be increasing your memory usage by at least 1,000,000 characters,
> or 1 mb. But that's over a probably long period of time, so you just
> didn't notice any change.
> >
> > On 11/17/06, *Chris Hengge* <pyro9219 at gmail.com
> > <mailto:pyro9219 at gmail.com>> wrote:
> >
> > Well, I dont get the point.. its not locking up my system or
> > anything.. its just crunching away... even while I type this...
> > I guess your point is that it should stop since a 32 bit O/S can
> > only count to:
> > 4,294,967,296
> >
> > On 11/17/06, *Thomas* < tavspam at gmail.com
> > <mailto:tavspam at gmail.com>> wrote:
> >
> > Earlier today I typed the following into my pythonwin
> > interactive interpreter in windows xp:
> >
> > >>> int('7' * 10 ** 6)
> >
> > I expected either an error message or it to get stuck and
> > require me to stop the process manually.
> >
> > I read that unlike long integers in C, longs in python are
> > only limited by the amount of memory (and virtual memory) your
> > system has.
> >
> > Can you guess what it did?
> >
> > I'm temped to end the post here, but I'm new to this list and
> > its possible that people might be annoyed by me not getting to
> > the point within my initial post, so here's what it did:
> >
> > It thought about it for about 2 seconds then restarted my pc!
> > explanations welcome.
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/tutor/attachments/20061117/499f5106/attachment.html
More information about the Tutor
mailing list