This is not surprising, slices are contiguous arrays of items with the same size in memory, lookup is just index * size, also the CPU will cache adjacent elements in memory so if they also get read it will be lightning fast. Maps are implemented as hashmaps so hashing a key, looking it up in a hashtable, which points to an index in a memory bucket is going to be significantly slower, involving hashing, slower looking, and multiple reads of non-contiguous memory!