I&#39;m playing around with Netflix, implementing a simple KNN-algorithm, I will later try SVD which seems to be the most successful approach.<br><br>Using a database like Postgresqk is to slow so I want to serialize a datastructure containing the ratings. I&#39;m not sure about the <br>
representation I will use just yet, if I should use multiple arrays or an Map/IntMap.<br><br>However I tried Data.Binary and already for small sizes I get stack overflow when deserializing.<br>The serializing works fine but when bringing it back it overflows.<br>
How can I solve this? This is just 2MB, I will eventually need soemthing like 2-500MB to store everything depending on what representatin I choose.<br><br>module Serialize where<br>import qualified Data.Binary as B<br>import qualified Data.Binary.Put as P<br>
import qualified Data.Map as M<br>import qualified Data.List as L<br><br>genTest :: Int -&gt; M.Map (Int,Int) Int<br>genTest n = let movies = take n $ repeat 1<br>                grades = take n $ repeat 4 in<br>            M.fromList $ ([1..n] `zip` movies) `zip` grades<br>
<br>main = do<br>  let a = genTest 50000<br>  B.encodeFile &quot;C:/users/saftarn/desktop/bintest.txt&quot; a<br>  print &quot;Success&quot;<br><br>dec = B.decodeFile &quot;C:/users/saftarn/desktop/bintest.txt&quot; &gt;&gt;= \a -&gt; <br>
      return $ (a :: M.Map (Int,Int) Int)<br><br><br><br><br>