How fast is an Arduino? Can an Arduino Uno calculate the time that an assembly instruction will take in nanoseconds, not microseconds? I don't want to use a PC, because the calculation will be more accurate using an Arduino, as the processor won't be running other tasks.

If the Arduino can't, is there any way to improve it, or any other open source hardware that can do?
How fast is an Arduino?


Arduino Uno is based on AVR MCU and run at 16 MHz. Due to the processor architecture it can execute almost 1 instruction per clock cycles (62.5 ns). It uses a simple two step pipeline which may require restart if a branch is taken. There are some instructions such as memory access that take more than one clock cycle. 


  Can an Arduino Uno calculate the time that an assembly instruction will take in nanoseconds, not microseconds? 


It is possible to measure the execution time with a resolution of 4 us with micros(). Please describe what you want to calculate/measure. 

For more details on ATmega328p please see the data-sheet, chap. 6.6 Instruction Execution Timing.