I apologize for the intrusion but I unwiggled your balls unfused your binary to have a look, seems like you're using the canvas:newImageData() method, which halves the framerate, making it unusable for my purposes.
No worries! I've already rewritten my diffuse as a C library that LOVE calls, currently I can do 640x360@3ms which is fast enough for my purposes