3 ms·
Pretty impressive the benchmarks, though they are getting close, having to re implement all the C extensions is definitely going to suck -- you can for example
by pquerna 17y ago
Pretty impressive the benchmarks, though they are getting close, having to re implement all the C extensions is definitely going to suck -- you can for example use twisted, but nothing that uses SSL, because twisted normally calls into pycrypto for them :(
- ivank 17y agoTwisted uses PyOpenSSL for SSL. Twisted Conch (the SSH server/client) uses PyCrypto. Also, the CPython C extension API is being implemented in the pypy branch cpython-extension. Even if PyOpenSSL doesn't work right now, servers can use SSL proxies (either user-level, or in-kernel, such as OpenSolaris' KSSL)
- pquerna 17y agosorry, I forgot about the split of the dependencies, we use both Conch and ssl sockets at work. Using SSL proxies is a complication because you normally end up killing the client IP addresses without more creative proxies.
- _delirium 17y agoTrue, but using Python on App Engine already requires rewriting/replacing/avoiding C extensions, so it's probably a limitation Google is okay with.
- kingkilr 17y agoSome of the PyPy developers have started working on a branch that will provide a bridge API, allowing CPython extension modules to be used inside of PyPy. As of today the regular expression engine from CPython can be successfully compiled and imported (though isn't totally functional). IronPython has a similar project named IronClad.
- stephenjudkins 17y agoUsing native libraries using CTypes should probably be the way forward from now on. This allows one to use pure Python to wrap C libraries, in a manner not specific to the Python implementation. In the Ruby world, the FFI library has accomplished the same thing. Extensions written using FFI work in Ruby 1.8, 1.9, JRuby, and Rubinius. They also avoid the annoying compilation phase. There is generally a performance hit compared to native extensions, though.
- BearOfNH 17y agoSo I shouldn't count on being able to import networkx or (heh-heh) ffnet any time soon?