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.
If we don't want to do multi-dispatch (for reasons of behaviour or performance), we shouldn't be marking these as multi-dispatched subs. > -- > 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
