After playing around with that, the instances are what is killing it. Unfortunately instances are still quite verbose (xml). On the invisible box frame demo scene frame 57 it goes from 18,000 instanced objects with no particles to 144,000 instanced objects with all the particles. whitewater foam being the largest number by far. I imagine in your scene the particles would be in the millions...
You can speed it up by turning off corona debug messages as a few lines of output are currently displayed per instance which is less than ideal :)
I could possibly speed it up more by letting you adjust the matrix precision currently hardcoded to 8 decimal points.
I might be able to greatly speed it up if I can setup a repeated template and reuse it over and over. It might take a few days but leave it with me.