These things still need attention: * The hotbuf branch will be completed after the sprint. I want to implement common parsing patterns (line delimited, netstrings) in C (MartinBlais). * The patch implementing optimizing out "if 0" still needs review. * Andrew Dalke has experimented with optimizing some common cases in argument parsing, which looks very promising, but needs further attention. * Internal string->object parsing routines (int(), float(), etc) need a way to bound the portion of the string they'll look at. This is partly bugfix, since passing a buffer object to such a Python-level routine results in anything from nonsense to segfaults now. * Tim intends to continue work on the `tim-exc_sanity` branch. * Fredrik intends to continue work on stringlib refactoring. * Ran out of time before getting to most of the "speed function calls" patches. Since any speedup in that area would benefit almost all users, they're still well worth pursuing. * Look at Kristján's ideas for speeding up lookdict_string. I've played with dummy optimization and inline string compare on my machine, which gives a small but noticable speedup. IIRC, the original patch contained a few more tweaks - FL * Any branches that are not intended to continue work should be removed before leaving the sprint. '''DONE''' - TP * Coverity's overnight (Saturday/Sunday) run shows a few new `NULL` complaints; need to investigate. '''DONE''' - TP * Many tests are showing refcount leaks as of Saturday; Tim suspects the new exception code. '''DONE''' == Lessons Learned == === Visual Studio / Code Coverage Tools === If anyone uses Windows and is planning to use C code coverage tools to possibly look at improving the test suite, or perhaps for profiling, they might want to obtain them well in advance of a sprint. I was unable to locate any free tools which worked with Visual Studio, and any commercial ones which even vaguely claimed to do so generally required an indefinite delay after submitting a marketing related form before you could access a downloadable trial version. Perhaps instead of applying for a trial version, it might be worthwhile to apply for a free license for Python development. Here are the code coverage capable tools which I tried to obtain and use, and short notes about them: * [[http://msdn.microsoft.com/vstudio/teamsystem/default.aspx|Visual Studio Team System]] This cannot be downloaded, but a 180 day trial can be obtained on request mailed out on DVD. CCP had a license for it already, but strangely only had beta 2 versions which had expired and was not able to locate a final version in time despite being entitled to one. * [[http://www.compuware.com/products/devpartner/studio.htm|DevPartner Studio]] This requires an application for a trial version and an indefinite delay before the marketing department get back to you, by phone I believe! It is possible to locate binaries on file sharing services, which can be installed in a trial mode, but they were unusable in our experience. An older version, 7.00, required VS .NET at the latest, and I was unable to get it to work at a command line level with later versions. The more recent version 8.00, worked with VS 2005, but when a build was made with profiling instrumentation, their compiler crashed repeatedly. Version 8.00 also does not support x64 based versions of Windows. * [[http://www-306.ibm.com/software/awdtools/purifyplus|Rational Purify]] This appears to be the one commercial tool which offers a downloadable trial version and does not require indefinite marketing department hoops to be jumped. However, I was completely unable to create an account on IBM's web site, due to vague complaints about unsuitable user names and passwords. I suspect that this is a problem which others can get around, because of better guesses at suitable entries for these fields. Here is another possibility, which I did not know about at the sprint: * [[http://www.bullseye.com|Bullseye Coverage]] Does not have a downloadable trial, but I believe one can be obtained after the marketing department receive your submitted application.