ADC's time of arduino UNO

Hello, I know that the max sample's frecuency on arduino UNO is 10KSPS. When there is an ADC read, like this


for(int i=0;i<n;i++)
val*= analogRead (A0);*
--------------------------------------------------
the analogRead instruction takes 13 instruction cycle? or we must put a delay, like this:
--------------------------------------------------
for(int i=0;i<n;i++)
{
val*= analogRead (A0);*
delayMicroseconds(100);
}
---------------------------------------------------

analogRead instruction takes 13 instruction cycles.

I wonder where that is from? In this case, the datasheet should be the reference used.
ADCconversion.png

ADC has its own clock
ADC clock domain.PNG

The ADC clock is set by the Wiring core in Arduino, to 125kHz for 16MHz system clocks (F_CPU >= 16MHz). It is scaled from the system clock (see "ADCSRA – ADC Control and Status Register") and needs to be set between 50kHz through 1000kHz.

https://github.com/arduino/Arduino/blob/master/hardware/arduino/avr/cores/arduino/wiring.c

analogRead() is a blocking function it will take however long it needs to return. (e.g. 13 * 128 = 1664 system clocks). Also the ADC conversion will not start until you call the analogRead() function.

So
delayMicroseconds(100);
is not needed.