title: Why does Lua use a garbage collector instead of reference counting?
body: <p>I've heard and experienced it myself: Lua's garbage collector can cause serious FPS drops in games as their scripted part grows.</p>
  
  <p>This is as I found out related to the garbage collector, where for example every Vector() userdata object created temporarily lies around until getting garbage collected.</p>
  
  <p>I know that Python uses reference counting, and that is why it doesn't need any huge, performance eating steps like Luas GC has to do.</p>
  
  <ul>
  <li>Why doesn't Lua use reference counting to get rid of garbage?</li>
  </ul>