How do I render a decent swimming pool animation in a reasonable amount of time?
The most expensive part of this rendering is going to be the caustics. If you want real caustics, they will probably be grainy. In cycles you can spend as time as you want on each frame, but less time will make a more grainy render.

If you want to fake caustics, there are a number of options. They give different results and different rendering speeds.


Add an emitting shader to the pool floor. Make it emit light in a caustic-like pattern. You can probably animate like this: How to animate noise texture &quot;seed&quot;?
Use vector math to fake caustics. Explained here http://urchn.org/post/fake-caustics-in-cycles
You can bake a texture in cycles from the first frame caustics. Use that for the rest of the frames. This will give a physically correct first frame but will not animate.


I think that the vector-math approach will give you best results.