Re: [Scons-dev] SCons on pypy and slots and __class__ assignment

2015-11-16 Thread Bill Deegan
Dirk,

Good point!
I'll give that a try.

-Bill

On Mon, Nov 16, 2015 at 1:50 AM, Dirk Bächle  wrote:

> Bill,
>
> On 15.11.2015 23:36, Bill Deegan wrote:
>
>> Greetings,
>>
>> Thought I'd take a whack at running SCons on pypy (based on a
>> presentation at SFPython where the developer say 50x CPython speeds).
>>
>> Anyway it turns out that using __slots__ + assiging to __class__ which we
>> do a few places in the Node's classes causes:
>> TypeError: __class__ assignment: 'Entry' object layout differs from 'Dir':
>>
>> I hopped on #pypy and a developer there took a quick look as said turning
>> of __slot__ got it a bit further through.
>>
>> As a side note, the canonical way to tell if you are running under pypy
>> is as follows:
>>
>>   if '__pypy__' not in sys.builtin_module_names
>>
>> Anyone have any thoughts on the relative difficulties of disabling slots
>> for pypy vs removing reassigning an objects class in the
>> Nodes hierarchy?
>>
>>
> since you're only interested in the possible speedup of pypy vs. cpython,
> wouldn't it be an option to use a commit short before the introduction of
> "__slots__" and apply the PR #252 there in a sandbox?
> Then you could first check whether following this route, and fixing things
> for the __class__ assignments, would be worthwhile...
>
> Best regards,
>
> Dirk
>
> ___
> Scons-dev mailing list
> Scons-dev@scons.org
> https://pairlist2.pair.net/mailman/listinfo/scons-dev
>
___
Scons-dev mailing list
Scons-dev@scons.org
https://pairlist2.pair.net/mailman/listinfo/scons-dev


Re: [Scons-dev] SCons on pypy and slots and __class__ assignment

2015-11-15 Thread Dirk Bächle

Bill,

On 15.11.2015 23:36, Bill Deegan wrote:

Greetings,

Thought I'd take a whack at running SCons on pypy (based on a presentation at 
SFPython where the developer say 50x CPython speeds).

Anyway it turns out that using __slots__ + assiging to __class__ which we do a 
few places in the Node's classes causes:
TypeError: __class__ assignment: 'Entry' object layout differs from 'Dir':

I hopped on #pypy and a developer there took a quick look as said turning of 
__slot__ got it a bit further through.

As a side note, the canonical way to tell if you are running under pypy is as 
follows:

  if '__pypy__' not in sys.builtin_module_names

Anyone have any thoughts on the relative difficulties of disabling slots for 
pypy vs removing reassigning an objects class in the
Nodes hierarchy?



since you're only interested in the possible speedup of pypy vs. cpython, wouldn't it be an option to use a commit short before the 
introduction of "__slots__" and apply the PR #252 there in a sandbox?

Then you could first check whether following this route, and fixing things for 
the __class__ assignments, would be worthwhile...

Best regards,

Dirk

___
Scons-dev mailing list
Scons-dev@scons.org
https://pairlist2.pair.net/mailman/listinfo/scons-dev