Too Many if Statements?
Alan Morgan
amorgan at xenon.Stanford.EDU
Tue Feb 7 18:06:26 EST 2006
In article <GU8Gf.22899$Jd.6095 at newssvr25.news.prodigy.net>,
Bryan Olson <fakeaddress at nowhere.org> wrote:
>Alan Morgan wrote:
>> slogging_away wrote:
>>
>>>Hi - I'm running Python 2.4.2 (#67, Sep 28 2005, 12:41:11) [MSC v.1310
>>>32 bit (Intel)] on win32, and have a script that makes numerous checks
>>>on text files, (configuration files), so discrepancies can be reported.
>>>The script works fine but it appears that I may have hit a wall with
>>>'if' statements.
>>>
>> I generated files with 10000, 25000, and 50000 simple if statements and ran
>> them. 10000 was okay, 25000 gave a bizarre internal error, and 50000 segfaulted
>> and died. My system has plenty of memory and it isn't obvious to me why python
>> should be so bothered about this. I'm not sure why I can have 10x the number of
>> if statements that cause you trouble. There might be some overall limitation
>> on the number of statements in a file.
>
>I made a script with 100,000 if's, (code below) and it appears
>to work on a couple systems, including Python 2.4.2 on Win32-XP.
>So at first cut, it doesn't seem to be just the if-count that
>triggers the bug.
Mine was a simple
#!/usr/local/bin/python
zot=24999
if zot == 0:
print "It's 0"
if zot == 1:
print "It's 1"
....
if zot == 24999:
print "It's 24999"
generated (I'm ashamed to admit) by a perl script. Is there any good reason why
it is failing? I'd prefer a "Too many silly walks in your program. Reduce!" to
a crash. I could experiment with putting the matching 'if' at the beginning
rather than at the end, but I'm not sure what that would tell me.
Alan
--
Defendit numerus
More information about the Python-list
mailing list