cool, thanks! copied and merged :P Esteban
> On 08 May 2015, at 14:00, Henrik Johansen <henrik.s.johan...@veloxit.no> > wrote: > > Hi Esteban! > As we talked about on IRC yesterday, I had hoped to employ the fast become > discussed in > http://forum.world.st/Igor-s-fast-become-for-CompiledMethods-in-Cog-td4345568.html > > <http://forum.world.st/Igor-s-fast-become-for-CompiledMethods-in-Cog-td4345568.html> > to bring faster proxy loading untill Spur arrives. > Sadly, it's not present in any current VM's, for reasons unknown*. > > Luckily, the alternative proposed by Levente in the original thread > (http://forum.world.st/A-trick-to-speedup-become-but-not-becomeForward-tp3707064p3708128.html > > <http://forum.world.st/A-trick-to-speedup-become-but-not-becomeForward-tp3707064p3708128.html>) > is appropriate for our case. > As I don't have write-access to Voyage repo, I've attached the package with > the changes (which work in both 3.0 and 4.0, but I assume not older, due to > using the SlotBuilder for anon subclasses) > > The package comment contains a workspace doit for comparision, but long story > short, for objects covered by the new fast path, you can now materialize more > than million objects in the time it previously took to materialize five. > > Cheers, > Henry > <Voyage-Mongo-Core-HenrikSperreJohansen.55.mcz> > > > *Need to check we aren't becoming primitive literals before being ok to > include? Seriously? > You can do ((StandardFileStream >> #primRead:into:startingAt:count:) > literalAt: 1) at: 4 put: 34 to achieve the same that become apparently must > at all costs guard against, does that mean we should also introduce the same > kind of primitive fail check requirements to at:put:? > I get that there are some objects you really don't want to become: due to VM > linking them internally in various ways, but checks that apply to *certain > instances* of a class, should be unneccessary, imho (or, better, done at the > user site)