> On Feb 16, 2017, at 5:38 PM, Slava Pestov <[email protected]> wrote:
> 
> 
>> On Feb 16, 2017, at 5:32 PM, David Sweeris via swift-evolution 
>> <[email protected] <mailto:[email protected]>> wrote:
>> 
>> 
>>> On Feb 16, 2017, at 5:17 PM, Ben Cohen <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> The win with mapping only the values is that the underlying hash table can 
>>> retain the same physical layout, just with different values in the slots, 
>>> so it can be done faster.
>> 
>> Only if the mapped dictionary’s values are the same type (or at least the 
>> same size) as in the original dictionary, right? Would the proposed function 
>> allow you to mapValues from a [K:V] to a [K:T]?
> 
> In both cases the key/bucket structure would be the same, I believe.
> 

Right. Values could be different types, you can still reuse the layout i.e. 
allocate the same element-count buffer (even if the size of the element 
differs), then put the pairs in the same places they were per the keys, without 
going through the whole process of computing hashes, resolving collisions etc.

> Slava
> 
>> 
>> - Dave Sweeris
>> _______________________________________________
>> swift-evolution mailing list
>> [email protected] <mailto:[email protected]>
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to