title: Why inserting 1000 000 values in a transient map in Clojure yields a map with 8 items in it?
body: <p>If I try to do 1000 000 <code>assoc!</code> on a transient vector, I'll get a vector of 1000 000 elements</p>
  
  <pre><code>(count
    (let [m (transient [])]
      (dotimes [i 1000000]
        (assoc! m i i)) (persistent! m)))
  ; =&gt; 1000000
  </code></pre>
  
  <p>on the other hand, if I do the same with a map, it will only have 8 items in it</p>
  
  <pre><code>(count
    (let [m (transient {})]
      (dotimes [i 1000000]
        (assoc! m i i)) (persistent! m)))
  ; =&gt; 8
  </code></pre>
  
  <p>Is there a reason why this is happening?</p>