low level: The map copy is a bit too expensive operation. A thin copy maybe could help, one which only adds/changes one or a number of values and otherwise relies on a base map
for map there already is a performance test. the creation of the map is of course a lot (~70 times) faster, but there was a ~10% loss on reading the data from the map