pmc2c-multi-nativepccmethod branch ready for testing

Vasily Chekalkin bacek at bacek.com
Fri Mar 11 23:43:35 UTC 2011


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
<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