Re: Future of Cocoa
Re: Future of Cocoa
- Subject: Re: Future of Cocoa
- From: Jean-Daniel via Cocoa-dev <email@hidden>
- Date: Wed, 20 Nov 2019 23:53:31 +0100
Probably because the benefit is minor compare to this optimisation (which let
the compiler completely inline the called ‘method’ if it want).
The actual method dispatch implementation is fast enough (in case of cache hit)
to not gain much from inline caching, which introduce another layer of caching
with its cost.
It may even slow done the software as it add some additional checks to any
method calls.
> Le 20 nov. 2019 à 23:46, Saagar Jha via Cocoa-dev <email@hidden>
> a écrit :
>
> I am curious why this optimization went in instead of guarded speculative
> inlining, which would let you keep dynamism. Maybe that was too complicated
> to implement or didn’t have the right performance characteristics. But I
> guess this isn’t really the right list for discussing that…
>
> Saagar Jha
>
>> On Nov 20, 2019, at 14:27, Jens Alfke via Cocoa-dev
>> <email@hidden> wrote:
>>
>>
>>
>>> On Nov 20, 2019, at 2:16 PM, Jean-Daniel via Cocoa-dev
>>> <email@hidden> wrote:
>>>
>>> If Obj-C is dead, why is Apple still adding new language extensions (and
>>> not minor one) ?
>>>
>>> https://github.com/llvm/llvm-project/commit/d4e1ba3fa9dfec2613bdcc7db0b58dea490c56b1
>>>
>>> <https://github.com/llvm/llvm-project/commit/d4e1ba3fa9dfec2613bdcc7db0b58dea490c56b1>
>>
>> Oh neat, this is basically non-virtual methods for Objective-C. Useful for
>> optimization of internal methods — not just because the call is faster, but
>> because the method body is now inlineable.
>>
>> I remember talk of this inside Apple way back when (early 2000s) but at the
>> time IIRC it was considered too dangerous to be worth the performance gain.
>> These days it's probably even more of a win because of LTO.
>>
>> —Jens
>> _______________________________________________
>>
>> Cocoa-dev mailing list (email@hidden)
>>
>> Please do not post admin requests or moderator comments to the list.
>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>>
>> Help/Unsubscribe/Update your Subscription:
>>
>> This email sent to email@hidden
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden