The execution time of your
loop() will be slightly longer when the CPU
runs at 8 MHz v.s. 16 MHz, but I don't expect the difference
to be significant. CPU-bound functions, such as
run at half the speed. These functions, however, are quite fast. In
analogRead() is slow, as it takes roughly 110 µs to
execute, so this is likely where your
loop() spends most of its time.
The execution time of
analogRead() does not depend significantly on
the CPU speed. This function spends most of its time waiting from the
analog-to-digital converter to do its conversion. When the CPU is
clocked at either 1, 2, 4, 8 or 16 MHz, the Arduino core sets the
ADC prescaler so that the ADC is clocked at 125 kHz.
This means the conversion time will be the same irrespective of the CPU
Note: You may just use your Arduino Pro Mini 5V 16MHz. This board is
based on the ATmega328P microcontroller, which is rated for frequencies
up to 20 MHz when the supply voltage is between 4.5 and 5.5 V.
According to the datasheet (see freq-Vcc graph), it should safely
run at 16 MHz for any supply voltage between 3.78 and 5.5 V.