"Harald Karner" <[EMAIL PROTECTED]> schrieb im Newsbeitrag news:[EMAIL PROTECTED] > Claudio Grondi wrote: > > Anyone on a big Linux machine able to do e.g. : > > \>python -c "print len('m' * 2500*1024*1024)" > > or even more without a memory error? > > I tried on a Sun with 16GB Ram (Python 2.3.2) > seems like 2GB is the limit for string size: > > > python -c "print len('m' * 2048*1024*1024)" > Traceback (most recent call last): > File "<string>", line 1, in ? > OverflowError: repeated string is too long > > > python -c "print len('m' * ((2048*1024*1024)-1))" > 2147483647
In this context I am very curious how many of such 2 GByte strings is it possible to create within a single Python process? i.e. at which of the following lines executed as one script is there a memory error? dataStringA = 'A'*((2048*1024*1024)-1) # 2 GByte dataStringB = 'B'*((2048*1024*1024)-1) # 4 GByte dataStringC = 'C'*((2048*1024*1024)-1) # 6 GByte dataStringD = 'D'*((2048*1024*1024)-1) # 8 GByte dataStringE = 'E'*((2048*1024*1024)-1) # 10 GByte dataStringF = 'F'*((2048*1024*1024)-1) # 12 GByte dataStringG = 'G'*((2048*1024*1024)-1) # 14 GByte let 2 GByte for the system on a 16 GByte machine ... ;-) Claudio -- http://mail.python.org/mailman/listinfo/python-list