void setup() { pinMode(22, OUTPUT); digitalWrite(22, 0); Serial.begin(115200); unsigned long sincePrint; sincePrint = millis(); for(int i = 0; i < 10000000; i++) { digitalWrite(22, 1); digitalWrite(22, 0); } Serial.print(millis() - sincePrint); Serial.print(" "); sincePrint = millis(); for(int j = 0; j < 10000000; j++) { gpio_set_level(GPIO_NUM_22, 1); gpio_set_level(GPIO_NUM_22, 0); } Serial.print(millis() - sincePrint); Serial.print(" "); sincePrint = millis(); for(int k = 0; k < 10000000; k++) { GPIO.out_w1ts = ((uint32_t)1 << 22); GPIO.out_w1tc = ((uint32_t)1 << 22); } Serial.print(millis() - sincePrint); Serial.print(" "); sincePrint = millis(); for(int k = 0; k < 10000000; k++) { REG_WRITE(GPIO_OUT_W1TS_REG, BIT22); REG_WRITE(GPIO_OUT_W1TC_REG, BIT22); } Serial.print(millis() - sincePrint); } void loop() { }