How are you controlling the motor to get one rotation? Unless it is a stepper motor, that will probably be a bigger issue than counting prop rotations. The simplest solution would be to use a stepper motor geared to give you one rotation for each step (but that may not be practical), then you can just count prop flashes, divide by # of blades, and step motor for each prop rotation.
If you are just running a motor, you will need some kind of encoder to determine when it has completed a revolution…basically the same as you are doing to count prop rotation. If motor gets behind, speed it up; if it gets ahead, slow it down. Amount of speed change will probably need to proportional to how far ahead/behind the motor is.
Either way, you only need to time the rotations if you want to know RPM, the algorithm for operating the motor doesn’t really need that info. If you are counting rotations, you only need to know how many rotations for a given time-frame to calculate RPM; you probably don’t necessarily need ms timing unless you expect RPM to change rapidly (which it would not with constant torque). It probably doesn’t really make much sense to calculate RPM until things have stabilized, which would mean speed of motor does not need to change much each check.