divmod-users team mailing list archive
-
divmod-users team
-
Mailing list archive
-
Message #00044
Re: State of Divmod on PyPy
On Wed, Aug 7, 2013 at 8:02 AM, Tristan Seligmann
<mithrandi@xxxxxxxxxxxxx>wrote:
> Axiom trunk is already essentially fully functional on PyPy at this stage.
> The only remaining test failures are highly unlikely to cause any real
> application code to fail, and are dealt with in this branch (which deletes
> the test in question, see the merge proposal for the explanation why):
>
>
> https://code.launchpad.net/~divmod-dev/divmod.org/829869-explicit-type-dropping/+merge/72276
>
For what it's worth, after thinking about it more and discussing it more, I
am increasingly convinced that removing this is the right thing to do.
There is a second issue which currently does not result in any test
> failures, but may result in running out of file descriptors in applications
> that open and close stores very frequently:
> https://bugs.launchpad.net/divmod-axiom/+bug/1208092
>
> On my desktop machine, the test suite runs in 9.608s on CPython 2.7, and
> in 18.506s on PyPy 2.1, which is not too bad.
>
> There is also a test failure on both CPython and PyPy that appears on
> newer versions of SQLite:
> https://code.launchpad.net/~divmod-dev/divmod.org/1209082-remove-bogus-performance-tests/+merge/178882
>
> The Epsilon and Nevow test suites already pass on PyPy, which takes care
> of all of the dependencies for Mantissa, with the exception of PyCrypto
> which is used by twisted.conch. Unfortunately PyCrypto does not build on
> PyPy, and as PyCrypto is unmaintained(?) it seems likely this won't be
> fixed any time soon. However, this is really only needed for the SSH server
> in Mantissa; a useful piece of functionality, to be sure, but something
> that should be optional. Unfortunately the code does not conditionally
> import conch/pycrypto: https://bugs.launchpad.net/mantissa/+bug/830343
>
Huh, I had no idea that didn't work. Perhaps this should be filed under
Twisted :)
> In summary, I'm very close to being able to get a green Mantissa test run
> on PyPy, and from there trying out my Mantissa application on PyPy. I don't
> yet have any performance figures for Mantissa on PyPy vs CPython, but once
> things are more functional I may take a crack at this as well
> (unfortunately there aren't any handy microbenchmarks like there are with
> Axiom).
>
That's pretty cool. Perhaps once we get a working CI system we should also
run these benchmarks regularly; it seems to me that e.g. inmemory shouldn't
be slower than regular attribute setting, since it's basically
regular-attribute-setting-except-work-around-slotmachine, right?
Either way, having a dedicated machine to run these is a good way to make
them better :)
cheers
lvh
References