Laser timing

I was going to build a system that times a projectile using lasers. Two beams are placed a foot apart and the arduino measures the time between each beam. Here is my question. How quick can the arduino respond? Can it catch the 2 ms time difference of a 500 ft/s projectile?

Easily. At 16MHz most instructions execute in the time it takes a beam of light to travel 20 metres.

Yes, 2ms is a "long" time for a microcontroller running at 16 MHz (0.0000625 milliseconds per clock cycle).

The real question is what kind of precision do you need for measuring the speed. Do you just need to know that the projectile went by? or do you need to know how fast it was going? and if so, with what precision?

You're also going to have to use interrupts (or input capture) since the speed of the projectile is less of a concern than the size of the projectile. Say the projectile is 0.1" long. At 500ft/s that means the laser is interrupted for only about 16 microseconds. You can't just sit in a slow loop calling digitalRead() on two inputs (well...maybe you can...but it's cutting it close).

-- The Gadget Shield: accelerometer, RGB LED, IR transmit/receive, speaker, microphone, light sensor, potentiometer, pushbuttons

The arduino can measure that fine but you need to make sure you get the right sensors as they need to be able to respond quickly.