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

Reply via email to