We discussed this idea before, but never really implemented it. Deletes and Updates generally have to traverse the whole StringMap. If i'm not mistaken, deletes are even implemented using update. This makes both operations potentially expensive.
There is a way to potentially speed up the updates, at least for big StringMap's. If we split up the StringMap at it's top level, we can traverse the resulting branches in parallel. After the parallel updates the branches can be merged again. Splitting and merging should be considered cheap here.
We discussed this idea before, but never really implemented it. Deletes and Updates generally have to traverse the whole
StringMap
. If i'm not mistaken, deletes are even implemented using update. This makes both operations potentially expensive.There is a way to potentially speed up the updates, at least for big
StringMap
's. If we split up theStringMap
at it's top level, we can traverse the resulting branches in parallel. After the parallel updates the branches can be merged again. Splitting and merging should be considered cheap here.