On Fri, Mar 11, 2011 at 6:43 PM, Vasily Chekalkin <[email protected]> wrote: > 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.
I've reworked things in the pmc2c-nativepccmethod-multi-2 branch. It preserves the goal of using NativePCCMethods for multis but maintains the switched multi. It changes much less, so there are no expected failures, even with failures detected on the first branch. Even so, please test this branch, as I intend to merge it in the next couple of days. For the record, I still think that switch-multi is wrong, but I lack a performant alternative. > -- > 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
