extradoc / blog / draft / py3k-status-update-8.rst

Py3k status update #8

This is the eight status update about our work on the py3k branch, which we can work on thanks to all of the people who donated to the py3k proposal.

Just a short update on November's work: we're now passing about 194 of approximately 355 modules of CPython's regression test suite, up from passing 160 last month. Many test modules only fail a small number of individual tests now.

We'd like to thank Amaury Forgeot d'Arc for his contributions, in particular he has made significant progress on updating CPyExt for Python 3 this month.

Some other highlights:

  • test_marshal now passes, and there's been significant progress on pickling (thanks Kenny Levinsen and Amaury for implementing int.{to,from}_bytes)

XXX: should we put a link to Kenny's twitter/webpage?

  • We now have a _posixsubprocess module
  • More encoding related fixes, which affects many failing tests
  • _sre was updated and now test_re almost passes
  • Exception behavior is almost complete per the Python 3 specs, what's mostly missing now are the new __context__ and __traceback__ attributes (PEP 3134)
  • Fixed some crashes and deadlocks occurring during the regression tests
  • We merged the unicode-strategies branch both to default and to py3k: now we have versions of lists, dictionaries and sets specialized for unicode elements, as we already had for strings.
  • However, for string-specialized containers are still faster in some cases because there are shortcuts which have not been implemented for unicode yet (e.g., constructing a set of strings from a list of strings). The plan is to completely kill the shortcuts and improve the JIT to produce the fast version automatically for both the string and unicode versions, to have a more maintainable codebase without sacrificing the speed. The autoreds branch (already merged) was a first step in this direction.

cheers, Philip&Antonio

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.