[Python-3000] PEPs update
python at rcn.com
Fri May 11 18:22:57 CEST 2007
> Thanks for taking time to review my code.
You welcome. And thanks for the continuing development effort.
> Did you look through the PEP as well?
> In fact, I am half way done with implementing the change so
> that small BLists are memory efficient.
As the code continues to evolve, I'll continue to look at it. I look forward to seeing how far you can take this. Newly developed code always faces an uphill battle when compared to mature open-source.
> I am not sure what aspect of the performance might
> be misunderstood. Just about everything is O(log n).
> Could you clarify your concern?
End-users (everyday Python programmers) need to be understand the performance intuitively and have a clear understanding of what is going on under-the-hood. Our existing data structures have the virtue of having a simple mental model (except for aspects of re-sizing and over-allocation which are a bit obscure).
> Would it be useful if I created an experimental fork of 2.5
> that replaces array-based lists with BLists,
> so that the performance penalty (if any) on existing code
> can be measured?
That would likely be an informative exercise and would assure that your code is truly interchangable with regular lists. It would also highlight the under-the-hood difficulties you'll encounter with the C-API.
That being said, it is a labor intensive exercise and the time might be better spent on tweaking the third-party module code and building a happy user-base.
> Indeed, I wrote the BList because there were idioms that I
> wanted to use that were just not practical with an array-based list.
We ought to set up a page on the wiki for success stories with blist as a third-party module. In time, the Right Answer (tm) will become self-evident.
More information about the Python-3000