On Wednesday, 5 April 2017 at 16:04, rintaro ishizaki wrote:
> Just FYI
>  
> Implementation of Type Erasers
> https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20160905/002852.html

Thanks for that link!  

This looks like a followup to Chris’s question, so I’m pinging Dmitri to chime 
in on this.

Bug report: https://bugs.swift.org/browse/SR-4499



For a reproducer, see the benchmark for `run_SuffixAnySequence` - that is 
utterly dominated by wending elements from the underlying sequence using 
generic witness table. There is no specialization occurring at all. As I’ve 
reasoned in my original e-mail, this is understandable - semantics of 
_AnyIteratorBox used in AnyIterator’s `next` method require virtual dispatch.

Closure based approach to type erasure should’t have such a semantic barrier 
for optimization - the limit would probably just be currently conservative 
optimization?

Best regards
Pavol Vaskovic




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

Reply via email to