For the record. I'm implementor of original "switch based MULTI optimization". It improved math op performance 500%. Just because PCC+MMD are extremely slow and put additional pressure on GC.
-- Bacek On Sat, Mar 12, 2011 at 10:30 AM, Jonathan "Duke" Leto <[email protected]> wrote: > Howdy, > > Correctness wins over performance every time, so I am +1 for this > branch to merge. > > Duke > > On Fri, Mar 11, 2011 at 3:17 PM, Peter Lobsinger <[email protected]> wrote: >> On Fri, Mar 11, 2011 at 5:57 PM, Jonathan "Duke" Leto <[email protected]> >> wrote: >>> Howdy, >>> >>> Peter, can you comment on the possible performance-related changes >>> that this branch could cause? >> >> We took a small hit for the indirection NCI caused. We're not doing >> that anymore, so it should be a little faster. >> >> MULTIs that aliased vtables used switch statements to dispatch based >> on their second argument. This optimization was not faithful to the >> MMD algorithm, leading to slight discrepancies (and outright wrong >> code in some corner cases). So while this aspect may have gotten >> slower, it was a change from fast and wrong to slow and correct. If >> the switch behaviour is desired, it should be made explicit, in stead >> of pretending to be MMD when it is not. >> >>> Have you done any benchmarks? >> >> No. The focus of this branch was correctness and decoupling. >> Performance was not of primary concern and is unlikely to be affected >> in any major way. >> >>> Duke >>> >>> On Fri, Mar 11, 2011 at 2:35 PM, Peter Lobsinger <[email protected]> wrote: >>>> The pmc2c-multi-nativepccmethod branch changes the implementation of >>>> MULTIs in .pmc files from NCI to NativePCCMethod. This means that >>>> these now handle their own PCC, in stead of rellying on NCI thunks to >>>> accomplish this. These can now be modified to access a more broad >>>> range of PCC functionality. On the NCI side of things, this >>>> unentangles NCI from Pmc2c, allowing for changes to proceed. >>>> >>>> At the current time, the branch passes all tests in core and I am >>>> testing HLLs. Please test this with whatever you see fit. >>>> _______________________________________________ >>>> http://lists.parrot.org/mailman/listinfo/parrot-dev >>>> >>> >>> >>> >>> -- >>> Jonathan "Duke" Leto >>> [email protected] >>> http://leto.net >>> >> > > > > -- > Jonathan "Duke" Leto > [email protected] > http://leto.net > _______________________________________________ > http://lists.parrot.org/mailman/listinfo/parrot-dev > _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
