> Am 29.06.2016 um 08:33 schrieb Jean-Daniel Dupas via swift-evolution 
> <swift-evolution@swift.org>:
> 
> 
>> Le 29 juin 2016 à 01:01, Michael Peternell via swift-evolution 
>> <swift-evolution@swift.org> a écrit :
>> 
>> 
>>> Am 29.06.2016 um 00:32 schrieb John McCall <rjmcc...@apple.com>:
>>> 
>>> The decision to make class methods polymorphic by default was always 
>>> premised on being able to undo that in obvious cases where methods are 
>>> never overridden.  Making a class public so that clients can use it 
>>> shouldn't cause significant performance degradations just because you 
>>> forgot to also write "final".
>>> 
>>> John.
>> 
>> I do care about performance. For this reason I don't want a fully dynamic 
>> language. I disagree about the "significant performance degradations just 
>> because you forgot to also write `final`". I mentioned "performance" in my 
>> original post only because it would be the only convincing argument - if 
>> there were indeed superior performance when using `final`.
>> 
>> Of course, dynamic dispatch is much slower than static dispatch. But 
>> optimized code does not spend much time dispatching. If a method takes 3 
>> seconds to complete, and from that 2 seconds are used for dynamically 
>> dispatching method calls, then I would say that it has not been optimized 
>> for performance yet. How would such a function look like? The function being 
>> dynamically dispatched should probably not be statically dispatched but 
>> inlined completely. And for the rare case that the dispatch type really 
>> makes all the difference, it's always possible to `final`ize (or 
>> `private`ize) some of the used methods.
> 
> Swift dynamic dispatch is not Obj-C dynamic dispatch. Talking about the cost 
> of dynamic dispatch without real benchmark is premature optimization IMHO.

Whom are you telling this? And which do you think is faster? Objc dynamic 
dispatch or Swift dynamic dispatch? I think, in the long run, Swift dynamic 
dispatch will be faster because Swift is less dynamic on that level.

-Michael


_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to