blist 1.0.2

The blist is a type that looks, acts, and quacks like a Python list, but has better performance for modifying large lists. For small lists (fewer than 128 elements), blists and the built-in list have very similar performance.

blist version 1.0.2 includes two important bug fixes:

  • Fixed a crash in the .index method, which was not properly sanitizing the optional arguments.  Previously, passing values larger than the length of the list could cause a crash.
  • Fixed a possible crash when modifying the blist during iteration

Other changes include:

  • Changed int to Py_ssize_t in several places for better 64-bit hygiene
  • Removed some over-zealous assertion checks that were causing crashes in oddball (but legal!) cases in debug builds
  • Ported tests to run under Python 2.6 and Python 3.1 (but no longer Python 2.5)
  • Got rid of warnings on non-ix86 platforms