This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author aioryi
Recipients aioryi
Date 2009-10-12.12:43:01
SpamBayes Score 7.931979e-07
Marked as misclassified No
Message-id <1255351384.96.0.56907836791.issue7113@psf.upfronthosting.co.za>
In-reply-to
Content
Current implementation (r71564) uses "'%s\n%s' % (old_val, new_line)" to
merge multi-line options into one string.
For options with many lines, this wastes a lot of CPU power.

Attached patch against r71564 fixes this problem by first building a
list of lines for each loaded option, and after reading the whole file,
merging them with the already loaded data. In that way, the '\n'.join()
can be performed once.
Patched ConfigParser.py works against test/test_cfgparser.py (and Python
2.5)

We have witnessed a reduction from 4 hours to 3 seconds loading time
with Python 2.6 and an option of 800000 lines.
History
Date User Action Args
2009-10-12 12:43:05aioryisetrecipients: + aioryi
2009-10-12 12:43:04aioryisetmessageid: <1255351384.96.0.56907836791.issue7113@psf.upfronthosting.co.za>
2009-10-12 12:43:03aioryilinkissue7113 messages
2009-10-12 12:43:02aioryicreate