Re: [Pharo-users] why is adding instance variables so slow?

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
Report Content as Inappropriate

Re: [Pharo-users] why is adding instance variables so slow?

Tudor Girba-2

Please let’s move this discussion on pharo-dev. And keep going :)


> On Apr 14, 2017, at 12:09 PM, Denis Kudriashov <[hidden email]> wrote:
> 2017-04-14 11:09 GMT+02:00 [hidden email] <[hidden email]>:
> Hi, I think the problem was not clearly explained. This is the scenario that is problematic.
> This scenario does not happen in the new Spur implementation of forwarding, but I think is happening in the old one.
> 1. You have, let's say 3 instances of ClassA.
> 2. You add a new instance variable to ClassA. It produces
>    2a. A new ClassAv2 is created with the instances variables of ClassA and the newone
>    2b. 3 Instances of ClassAv2 are created
>    2c. The values of the instance variables of ClassA are copied to the ones in ClassAv2 (the ones missing are left in nil).
>    2d. The 3 instances of ClassA are becomed forward to the 3 instances of ClassAv2
>    2e. The ClassA is becomed forward ClassAv2
> I still not see why my example not reflects all these steps. I checked also scenario with class becoming:
> c1 := Class1 new.
> c2 := Class2 new.
> c1 becomeForward: c2.
> Class1 becomeForward: Class2.
> Class2 allInstances "=>#(aClass2)"
> It also works in Cog


"What we can governs what we wish."