Antoine Pitrou, 20.03.2011 12:40: > On Sun, 20 Mar 2011 07:32:34 -0400 Jesse Noller wrote: >> >> The reason why there was no mention is probably because no one >> intimately familiar with Cython was there, and if they were - it was >> not brought up. If Cython supports PyPy - and Jython, and IronPython, >> your proposal makes sense. The reason for "pure" python implementation >> is so that other implementations can share the exact same standard >> library we have today. > > Well, realistically, they don't. Some functionality just isn't > satisfied with a slow Python implementation. The io module is a primary > example of that. Agreed. > (but I don't think a Cython version of io would be fast enough, either) I assume you mean a compiled version of the pure Python implementation? No, that likely won't be faster and would certainly be much slower than the current C implementation. There's not much Cython can optimise in Python code that mostly does Python-level I/O operations. However, I'd argue that if the C implementation of the "io" module had been written in Cython code instead of C, it would have ended up being about as fast (or maybe slightly faster due to the reduced calling overhead in Cython), but substantially shorter, more readable and accessible for Python users and consequently easier to maintain. Likely also easier to write in the first place, as most of the code had already been written for the pure Python version, which makes it a "copy&optimise" rather than a "read&rewrite". Maybe that would make a good topic for the GSoC: rewrite some of the C modules in CPython in Cython, either in pure Python with Cython type annotations, or in Cython code, depending on the type of module and its speed requirements. Rewriting C code in Cython usually goes quite quickly, so the outcome would likely be several modules for one GSoC participant. IMHO, taking modules that currently only have a C implementation due to performance constraints and rewriting them in Cython is a much more worthwhile thing to do than adding an alternative pure Python implementation that other Python runtimes wouldn't use anyway. And at least IronPython could soon benefit directly from a Cython implementation as well. Stefan
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4