[Haskell-cafe] Trying to reduce memory costs of String duplicates

Günther Schmidt gue.schmidt at web.de
Sat Sep 5 08:42:14 EDT 2009

Hi all,

I'm reading in a data of 216k records into a map of Key, Values Pairs, the  
values being strings.

As it happens out of 216k String values there really are only about 6.6k  
distinct string values, so I could save a lot of RAM if I was able to  
"insert" only actually *new* string values into the map and use references  
to (string) values that already are in memory instead.

Is there a container that would, if I wanted to insert an element, return  
a pair of either the previously inserted, equal value and the container  
unchanged, or the new, previously unknown value and the new container  
amended by that element?


More information about the Haskell-Cafe mailing list