I would have thought it better to use the tach signal as an interrupt.. and every time the interrupt is serviced, check 'millis' and see the time difference.. Divide that result by the number of milliseconds in 1 minute. Average the value over about 10 pulses or so to get a somewhat stable signal and you should have what you are looking for.
Then you need to divide that number by the number of pulses per revolution... IE: for most 4cyl it is 2 pulse per rev.
You will want very efficient code... if you load down too much process time your RPM result will be inaccurate.
Exactly the reason I'd rather use freq to voltage conversion. If your using the arduino to do anything reasonably usefull with the tach signal, then you will want all the cycles you can get, better to use something accurate (the F2V converter) and just read its value when you need it.