pmc2c-multi-nativepccmethod branch ready for testing

Peter Lobsinger plobsing at gmail.com
Sat Mar 12 00:09:55 UTC 2011


On Fri, Mar 11, 2011 at 6:43 PM, Vasily Chekalkin <bacek at bacek.com> 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
> <jonathan at leto.net> 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 <plobsing at gmail.com> wrote:
>>> On Fri, Mar 11, 2011 at 5:57 PM, Jonathan "Duke" Leto <jonathan at leto.net> 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 <plobsing at gmail.com> 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
>>>> jonathan at leto.net
>>>> http://leto.net
>>>>
>>>
>>
>>
>>
>> --
>> Jonathan "Duke" Leto
>> jonathan at leto.net
>> http://leto.net
>> _______________________________________________
>> http://lists.parrot.org/mailman/listinfo/parrot-dev
>>
>


More information about the parrot-dev mailing list