I am porting C# code to F# and I have a situation with some rather large, but simple dictionaries; they're value is a single float and the key is a string.
The code processes commands that require to insert, delete but also update some keys and there are a lot of operations happening constantly (it is tracking trading order books).
I'm quite new at F# and I'm trying to understand something. From what I read, the F# dictionaries are immutable, so any change would rebuild the dictionary.
If I have a dictionary with 1000 entries and I do 200 changes in it, does that mean that the dictionary's data gets rebuild 200 times?
If this is not the right collection, in F#, what else should I use for a quite large list that changes many times per second? (the data is [string] = float)