[Vm-dev] Re: Nice bit trick for component add

David T. Lewis lewis at mail.msen.com
Mon Dec 30 19:09:01 UTC 2013


I added your enhancements for the rgbAdd rule and the alpha blending
rules in VMMaker for both the interpreter and Cog VM.

I did not try to measure performance, but my expectation would be that
the relative performance improvement will be even greater for Cog than
what you measured with the interpreter VM, because your improvements
affect the compiled primitives.

Great stuff, thanks!

Dave

On Mon, Dec 30, 2013 at 02:03:29AM +0100, Nicolas Cellier wrote:
>  
> Here is an update about performances: I compared two images that were too
> much distant
> (bitblt was not the only change, but there are other (Large)Integer
> hacks...)
> 
> If I take two interpreter VM with only differences in BitBltPlugin
> rgbAdd/alphaBlend/alphaBlendScaled, then the micro benchmark are unchanged
> (-25% of run time in 32bit depth) but the text display macro benchmark is
> less spectacular, only -6% of runtime.
> 
> The good news is that the macro -15% are somehow achievable by other means.
> 
> It remain to be measured in COG. My results are not reliable so far.
> Here again, I have too many differences between the VM used for bench,
> including recent changes from Eliot, and C compiler (LLVM 1.7 vs GCC 4.2,
> from old Xcode 3.2).
> I also experiment some lack of repeatability for which I did not identify
> the root cause.
> 
> 
> 2013/12/30 David T. Lewis <lewis at mail.msen.com>
> 
> >
> > On Fri, Dec 27, 2013 at 06:06:02PM +0100, Nicolas Cellier wrote:
> > >
> > > This has been capitalized at http://bugs.squeak.org/view.php?id=7802
> > > I use the old squeak mantis right now rather than cog issue tracker
> > > (abandonned?) or newest pharo fogbugz (restricted?)
> > > What do VM maintainers prefer?
> >
> > Thanks for opening this issue on the mantis tracker. That happens to be
> > the one that I use to try to keep track of issues that may take some time
> > to resolve, and/or that require coordiation between multiple people.
> >
> > I have been watching #7802 with interest (though I am not a bitblt expert)
> > and I will make sure that your updates get into the trunk VMM, and will
> > coordinate with Eliot and/or add it to oscog directory. The trunk and
> > oscog branches are pretty much identical in this area, so it's just a
> > matter
> > of keeping both updated, with is not a problem.
> >
> > >From my point of view, the bugs.squeak.org issue tracker is the one that
> > I watch. I don't have an account on fogbugz, although I do read the pharo
> > mailing list and try to keep up to date with issues that get mentioned
> > there.
> >
> > The cog issue tracker was a good idea, although I think it probably got
> > abandoned when people moved to fogbugz, so I do not try to keep track of
> > it now.
> >
> > > I don't really like the balkanisation in progress, and hope we can
> > converge
> > > on some better communalisation again.
> > >
> >
> > <curmudgeon alert>
> >
> > Inventing a new process is easy. To actually use an existing process that
> > someone else invented is hard. Or so it would seem.
> >
> > I see the same problem in my corporate IT environments. Everybody wants
> > to invent ways for the other guy to be more productive and nobody wants
> > to use the other guy's ideas to actually *be* productive. I think we are
> > raising a whole new generation of consultants who will all be experts on
> > how the other guy should be working if only he was as smart as me :-(
> >
> > I should not complain because I make my living as a consultant. But still
> > I dream of a world where people like me are not needed. Then I can retire
> > and be happy.
> >
> > </curmudgeon alert>
> >
> > Dave
> >
> >



More information about the Vm-dev mailing list