I'm updating my slides for EuroPython and as part of that I am rerunning the benchmarks. For the most parts the performance is similar to what it was the last time I ran them (at PyCon), but for the bench cases that multiply lists, performance is much worse. I tried rolling back to the last version before the newlist branch was merged, and got much better performance out of that. Is there a reason for not doing this as an array copy any more? The performance problem is from growing the list multiple times instead of creating it at desired size.

Also, when looking at the code for the new list implementation I noticed that we larger blocks then necessary are synchronized. Do we have any tests for this so that I have something to verify against if I attempt to reduce the synchronization?