On Fri, Feb 2, 2018 at 9:59 PM, <matthewju...@gmail.com> wrote:
>
> Each path represented as a slice of coordinates could be easily encoded to
> a string and compared that way.
>

Ah, I misunderstood "path".


>
> As far as resource expenses go, we'd need benchmarks to say much. I
> understand looking at expensive cases too, but that doesn't mean that there
> aren't smaller regular use cases. Goroutines can be overused too.
>
> Matt
>
> On Wednesday, January 31, 2018 at 10:24:30 AM UTC-6, rog wrote:
>>
>> On 30 January 2018 at 23:19,  <matthe...@gmail.com> wrote:
>> >> - When slices can be compared, they can be used as map keys. What
>> happens
>> >> if the contents of a slice are changed after it has been added to a
>> map?
>> >
>> >
>> > I’m not too familiar with Go map internals, but my thought is the key
>> hash
>> > would depend on the backing array values. Go maps also allow reading
>> the
>> > keys back using iteration so the slice backing array (up to length)
>> would
>> > have to be copied. If the slice contents are changed then that would be
>> a
>> > different key and the original key would be intact.
>>
>> Note that copying the slice contents to make a map key implies
>> that using a slice as a map key might imply copying a whole tree,
>> which seems rather expensive to me (especially as it might end up
>> using more memory than the original if some elements are duplicated,
>> unless an alias-aware copy algorithm is used which would be
>> more expensive still)
>>
>> BTW you can already do something like this:
>> https://play.golang.org/p/q4bz8-AckN3
>>
>> You can even do it without reflect, which I'll leave as an exercise
>> for the reader :)
>>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to