how fast can you read on analong pin, arduino due

The maximum ADC sampling rate is 1 MHz, and of course you won't reach this frequency with an analogRead().

Here is an example sketch to sample in Free Running Mode (1 MHz):

volatile uint32_t LastConversion;
void setup()
{
  adc_setup(); 
}

void loop()
{

}

/*************  Configure adc_setup function  *******************/
void adc_setup() {

  PMC->PMC_PCER1 |= PMC_PCER1_PID37;                    // ADC power ON

  ADC->ADC_CR = ADC_CR_SWRST;                           // Reset ADC
  ADC->ADC_MR =  ADC_MR_FREERUN                         // Free running mode
                 | ADC_MR_PRESCAL(0);

  ADC->ADC_ACR = ADC_ACR_IBCTL(0b01);                   // For frequencies > 500 KHz

  ADC->ADC_IER = ADC_IER_EOC7;                          // End Of Conversion interrupt enable for channel 7
  NVIC_EnableIRQ((IRQn_Type)ADC_IRQn);                  // Enable ADC interrupt
  
  ADC->ADC_CHER = ADC_CHER_CH7;                         // Enable Channels 7 = A0
}

void ADC_Handler () {

  LastConversion = ADC->ADC_CDR[7];                    // Reading ADC->ADC_CDR[i] clears EOCi bit

}

If you store several samples at a time, it's better using a PDC DMA to reach 1 MHz.