I wrote the following function. The comment is my tested performance:
//Through testing, I've found that these cause the pin to be at that state for time = 1/10th of a us. (plus 1/15?th of a us for the call)
static void PTON( uint8_t time )
{
while(time--)
{
WRITE_PERI_REG( PERIPHS_GPIO_BASEADDR + GPIO_ID_PIN(PTGPIO), 1 );
}
}
So, looks like you can get up to around .1us maximum performance.
If you use the GPIO API, the performance is TERRIBLE. Do not use it for anything that needs speed.