title: Why Go can lower GC pauses to sub 1ms and JVM has not?
body: <p>So there's that: <a href="https://groups.google.com/forum/?fromgroups#!topic/golang-dev/Ab1sFeoZg_8" rel="nofollow noreferrer">https://groups.google.com/forum/?fromgroups#!topic/golang-dev/Ab1sFeoZg_8</a>:</p>
  <blockquote>
  <p>Today I submitted changes to the garbage collector that make typical worst-case stop-the-world times less than 100 microseconds. This should particularly improve pauses for applications with many active goroutines, which could previously inflate pause times significantly.</p>
  </blockquote>
  <p>High GC pauses are one of the things JVM users struggle with for a long time.</p>
  <p>What are the (architectural?) constraints which prevent JVM from lowering GC pauses to Go levels, but are not affecting Go?</p>