[Scons-users] Scons on pypy

Russel Winder russel at winder.org.uk
Sun Jun 5 05:39:13 EDT 2016


On Sat, 2016-06-04 at 17:33 +0000, Daniel Holth wrote:
> I am trying to run SCons on pypy. It seems to work fine if I do a
> global
> find/replace over the SCons source code, changing all __slots__ to
> __slats__, because pypy does not like to change the __class__
> otherwise.
> 
> This is from mercurial and pypy5.
> 
> Have you had success running scons in pypy?

No. :-(  Not since the introduction of __slots__ anyway.

I believe Bill and Dirk had an exchange on this during the __slots__
work in 2015-11. At that time the PyPy folk seemed to imply that this
was always going to be a problem (conflict between dynamic language and
JIT), that __slots__ were unnecessary in PyPy anyway, and that you
should switch them off for running under PyPy – using 'if __pypy__' or
some such.

As far as I am currently aware __slots__ are as useful in CPython 3 as
in CPython 2 for lowering memory use and runtime. Use of CPython
dominates over use of PyPy for SCons so the focus has to be on CPython,
especially as the current push is to make SCons compatible with CPython
3 and PyPy3 isn't yet packaged for Debian, Fedora, etc.

I would suggest shipping this back to the developer list and thinking
in terms of amending the codebase to distinguish between CPython and
PyPy and only use __slots__ for CPython. If of course this doesn't
impact on the performance of SCons under CPython.

Sorry not to have a more positive message.

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder at ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel at winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20160605/763e7b13/attachment.pgp>


More information about the Scons-users mailing list