I found a nice yield-based implementation of the sieve of Eratosthenes. I tried to find the last prime number less than 1.000.000 (1M) - so I had to increase the recursion limit (via sys.setrecursionlimit). It seemed to work - but after running for about 3 minutes, the Python interpreter (2.6.4) crashed with a segmentation fault. I am attaching the code - it uses no libraries except for "sys" (it needs it to set the recursionlimit).
The recursion limit exists precisely so that Python can avoid overflowing the C stack and hence crashing. So if you increase the recursion limit without also increasing the stack space assigned to the process, you should expect a crash. Closing as won't fix.
History
Date
User
Action
Args
2022-04-11 14:56:56
admin
set
github: 51863
2009-12-31 21:58:44
mark.dickinson
set
status: open -> closednosy: + mark.dickinsonmessages: + resolution: wont fix