ESP Code Compile Extremely Slow

I have recently ventured into the world of ESP32 and it is taking over 2 minutes to compile a sketch. Even a blank sketch for ESP32 is taking 21 seconds. I wouldn't have a problem with 21 seconds, except other larger programs not using ESP32 take only 5 seconds to compile. The sketch is running as expected. It is a copy from http://randomnerdtutorials.com.

The hardware is as follows: Windows 10, with AMD Ryzen 7 1700 8 core 3000Mhz, 16Gb Ram 500Gb hard drive.

I'm experiencing the same problem on a new laptop running Windows 11, Intel Ultra 7 3800Mhz 16 core processor 32G ram and 1TB SSD.

The ESP board is an ESP32-WROOM-DA-Module

I've tried disabling virus protection, uninstalling ESP32 boards and re-installing and uninstall/reinstall Arduino IDE.

This is the program

// Load Wi-Fi library
#include <WiFi.h>
#include <Wire.h>
#include <Adafruit_BME280.h>
#include <Adafruit_Sensor.h>

//uncomment the following lines if you're using SPI
/*#include <SPI.h>
#define BME_SCK 18
#define BME_MISO 19
#define BME_MOSI 23
#define BME_CS 5*/

#define SEALEVELPRESSURE_HPA (1020.10)

Adafruit_BME280 bme; // I2C
//Adafruit_BME280 bme(BME_CS); // hardware SPI
//Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK); // software SPI

// Replace with your network credentials
const char* ssid     = "MyNetwork";
const char* password = "MyPassword";

// Set web server port number to 80
WiFiServer server(80);

// Variable to store the HTTP request
String header;

// Current time
unsigned long currentTime = millis();
// Previous time
unsigned long previousTime = 0; 
// Define timeout time in milliseconds (example: 2000ms = 2s)
const long timeoutTime = 2000;

void setup() {
  Serial.begin(115200);
  bool status;

  // default settings
  // (you can also pass in a Wire library object like &Wire2)
  //status = bme.begin();  
  if (!bme.begin(0x76)) {
    Serial.println("Could not find a valid BME280 sensor, check wiring!");
    while (1);
  }

  // Connect to Wi-Fi network with SSID and password
  Serial.print("Connecting to ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  // Print local IP address and start web server
  Serial.println("");
  Serial.println("WiFi connected.");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
  server.begin();
}

void loop(){
  WiFiClient client = server.available();   // Listen for incoming clients

  if (client) {                             // If a new client connects,
    currentTime = millis();
    previousTime = currentTime;
    Serial.println("New Client.");          // print a message out in the serial port
    String currentLine = "";                // make a String to hold incoming data from the client
    while (client.connected() && currentTime - previousTime <= timeoutTime) {  // loop while the client's connected
      currentTime = millis();
      if (client.available()) {             // if there's bytes to read from the client,
        char c = client.read();             // read a byte, then
        Serial.write(c);                    // print it out the serial monitor
        header += c;
        if (c == '\n') {                    // if the byte is a newline character
          // if the current line is blank, you got two newline characters in a row.
          // that's the end of the client HTTP request, so send a response:
          if (currentLine.length() == 0) {
            // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK)
            // and a content-type so the client knows what's coming, then a blank line:
            client.println("HTTP/1.1 200 OK");
            client.println("Content-type:text/html");
            client.println("Connection: close");
            client.println();
            
            // Display the HTML web page
            client.println("<!DOCTYPE html><html>");
            client.println("<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">");
            client.println("<link rel=\"icon\" href=\"data:,\">");
            // CSS to style the table 
            client.println("<style>body { text-align: center; font-family: \"Trebuchet MS\", Arial;}");
            client.println("table { border-collapse: collapse; width:35%; margin-left:auto; margin-right:auto; }");
            client.println("th { padding: 12px; background-color: #0043af; color: white; }");
            client.println("tr { border: 1px solid #ddd; padding: 12px; }");
            client.println("tr:hover { background-color: #bcbcbc; }");
            client.println("td { border: none; padding: 12px; }");
            client.println(".sensor { color:white; font-weight: bold; background-color: #bcbcbc; padding: 1px; }");
            
            // Web Page Heading
            client.println("</style></head><body><h1>ESP32 with BME280</h1>");
            client.println("<table><tr><th>MEASUREMENT</th><th>VALUE</th></tr>");
            client.println("<tr><td>Temp. Celsius</td><td><span class=\"sensor\">");
            client.println(bme.readTemperature());
            client.println(" *C</span></td></tr>");  
            client.println("<tr><td>Temp. Fahrenheit</td><td><span class=\"sensor\">");
            client.println(1.8 * bme.readTemperature() + 32);
            client.println(" *F</span></td></tr>");       
            client.println("<tr><td>Pressure</td><td><span class=\"sensor\">");
            client.println(bme.readPressure() / 100.0F);
            client.println(" hPa</span></td></tr>");
            client.println("<tr><td>Approx. Altitude</td><td><span class=\"sensor\">");
            client.println(bme.readAltitude(SEALEVELPRESSURE_HPA));
            client.println(" m</span></td></tr>"); 
            client.println("<tr><td>Humidity</td><td><span class=\"sensor\">");
            client.println(bme.readHumidity());
            client.println(" %</span></td></tr>"); 
            client.println("</body></html>");
            
            // The HTTP response ends with another blank line
            client.println();
            // Break out of the while loop
            break;
          } else { // if you got a newline, then clear currentLine
            currentLine = "";
          }
        } else if (c != '\r') {  // if you got anything else but a carriage return character,
          currentLine += c;      // add it to the end of the currentLine
        }
      }
    }
    // Clear the header variable
    header = "";
    // Close the connection
    client.stop();
    Serial.println("Client disconnected.");
    Serial.println("");
  }
}

This the compiler output

loading library from g:\Inventions\sketches\libraries\libraries: invalid library: no header files found
FQBN: esp32:esp32:esp32da
Using board 'esp32da' from platform in folder: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3
Using core 'esp32' from platform in folder: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3

cmd /c if exist "G:\\Inventions\\sketches\\ESP32\\BMEwebServer\\partitions.csv" COPY /y "G:\\Inventions\\sketches\\ESP32\\BMEwebServer\\partitions.csv" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\partitions.csv"
cmd /c if not exist "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\partitions.csv" if exist "C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.1.0-RC3\\variants\\esp32da\\partitions.csv" COPY "C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.1.0-RC3\\variants\\esp32da\\partitions.csv" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\partitions.csv"
cmd /c if not exist "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\partitions.csv" COPY "C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.1.0-RC3\\tools\\partitions\\default.csv" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\partitions.csv"
cmd /c IF EXIST "G:\\Inventions\\sketches\\ESP32\\BMEwebServer\\bootloader.bin" ( COPY /y "G:\\Inventions\\sketches\\ESP32\\BMEwebServer\\bootloader.bin" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\BMEwebServer.ino.bootloader.bin" ) ELSE ( IF EXIST "C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.1.0-RC3\\variants\\esp32da\\bootloader.bin" ( COPY "C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.1.0-RC3\\variants\\esp32da\\bootloader.bin" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\BMEwebServer.ino.bootloader.bin" ) ELSE ( "C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esptool_py\\4.9.dev1\\esptool.exe" --chip esp32 elf2image --flash_mode dio --flash_freq 80m --flash_size 4MB -o "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\BMEwebServer.ino.bootloader.bin" "C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.3-a0f798cf\\esp32\\bin\\bootloader_qio_80m.elf" ) )
esptool.py v4.8.1
Creating esp32 image...
Merged 2 ELF sections
Successfully created esp32 image.
cmd /c if exist "G:\\Inventions\\sketches\\ESP32\\BMEwebServer\\build_opt.h" COPY /y "G:\\Inventions\\sketches\\ESP32\\BMEwebServer\\build_opt.h" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\build_opt.h"
cmd /c if not exist "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\build_opt.h" type nul > "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\build_opt.h"
cmd /c type nul > "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79/file_opts"
cmd /c COPY /y "C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.3-a0f798cf\\esp32\\sdkconfig" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\sdkconfig"
        1 file(s) copied.
Detecting libraries used...
C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp-x32\2405/bin/xtensa-esp32-elf-g++ -c @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/cpp_flags -w -Os -Werror=return-type -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_WROOM_DA -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32_WROOM_DA" -DARDUINO_VARIANT="esp32da" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="windows" -DARDUINO_FQBN="esp32:esp32:esp32da:UploadSpeed=921600,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,LoopCore=1,EventsCore=1,EraseFlash=none" -DESP32=ESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/defines -IG:\Inventions\sketches\ESP32\BMEwebServer -iprefix C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/include/ @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/includes -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/qio_qspi/include -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\cores\esp32 -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\variants\esp32da @C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79/build_opt.h @C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79/file_opts C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\sketch\BMEwebServer.ino.cpp -o nul
Alternatives for WiFi.h: [WiFi@3.1.0]
ResolveLibrary(WiFi.h)
  -> candidates: [WiFi@3.1.0]
C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp-x32\2405/bin/xtensa-esp32-elf-g++ -c @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/cpp_flags -w -Os -Werror=return-type -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_WROOM_DA -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32_WROOM_DA" -DARDUINO_VARIANT="esp32da" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="windows" -DARDUINO_FQBN="esp32:esp32:esp32da:UploadSpeed=921600,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,LoopCore=1,EventsCore=1,EraseFlash=none" -DESP32=ESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/defines -IG:\Inventions\sketches\ESP32\BMEwebServer -iprefix C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/include/ @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/includes -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/qio_qspi/include -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\cores\esp32 -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\variants\esp32da -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\WiFi\src @C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79/build_opt.h @C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79/file_opts C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\sketch\BMEwebServer.ino.cpp -o nul
Alternatives for Network.h: [Networking@3.1.0]
ResolveLibrary(Network.h)
  -> candidates: [Networking@3.1.0]
C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp-x32\2405/bin/xtensa-esp32-elf-g++ -c @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/cpp_flags -w -Os -Werror=return-type -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_WROOM_DA -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32_WROOM_DA" -DARDUINO_VARIANT="esp32da" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="windows" -DARDUINO_FQBN="esp32:esp32:esp32da:UploadSpeed=921600,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,LoopCore=1,EventsCore=1,EraseFlash=none" -DESP32=ESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/defines -IG:\Inventions\sketches\ESP32\BMEwebServer -iprefix C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/include/ @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/includes -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/qio_qspi/include -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\cores\esp32 -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\variants\esp32da -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\WiFi\src -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Network\src @C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79/build_opt.h @C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79/file_opts C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\sketch\BMEwebServer.ino.cpp -o nul
Alternatives for Wire.h: [Wire@3.1.0]
ResolveLibrary(Wire.h)
  -> candidates: [Wire@3.1.0]
C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp-x32\2405/bin/xtensa-esp32-elf-g++ -c @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/cpp_flags -w -Os -Werror=return-type -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_WROOM_DA -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32_WROOM_DA" -DARDUINO_VARIANT="esp32da" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="windows" -DARDUINO_FQBN="esp32:esp32:esp32da:UploadSpeed=921600,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,LoopCore=1,EventsCore=1,EraseFlash=none" -DESP32=ESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/defines -IG:\Inventions\sketches\ESP32\BMEwebServer -iprefix C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/include/ @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/includes -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/qio_qspi/include -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\cores\esp32 -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\variants\esp32da -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\WiFi\src -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Network\src -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Wire\src @C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79/build_opt.h @C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79/file_opts C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\sketch\BMEwebServer.ino.cpp -o nul
Alternatives for Adafruit_BME280.h: [Adafruit BME280 Library@2.2.4]
ResolveLibrary(Adafruit_BME280.h)
  -> candidates: [Adafruit BME280 Library@2.2.4]
C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp-x32\2405/bin/xtensa-esp32-elf-g++ -c @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/cpp_flags -w -Os -Werror=return-type -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_WROOM_DA -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32_WROOM_DA" -DARDUINO_VARIANT="esp32da" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="windows" -DARDUINO_FQBN="esp32:esp32:esp32da:UploadSpeed=921600,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,LoopCore=1,EventsCore=1,EraseFlash=none" -DESP32=ESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/defines -IG:\Inventions\sketches\ESP32\BMEwebServer -iprefix C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/include/ @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/includes -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/qio_qspi/include -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\cores\esp32 -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\variants\esp32da -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\WiFi\src -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Network\src -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Wire\src -Ig:\Inventions\sketches\libraries\Adafruit_BME280_Library @C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79/build_opt.h @C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79/file_opts C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\sketch\BMEwebServer.ino.cpp -o nul
Alternatives for Adafruit_I2CDevice.h: [Adafruit BusIO@1.16.2]
ResolveLibrary(Adafruit_I2CDevice.h)
  -> candidates: [Adafruit BusIO@1.16.2]
C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp-x32\2405/bin/xtensa-esp32-elf-g++ -c @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/cpp_flags -w -Os -Werror=return-type -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_WROOM_DA -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32_WROOM_DA" -DARDUINO_VARIANT="esp32da" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="windows" -DARDUINO_FQBN="esp32:esp32:esp32da:UploadSpeed=921600,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,LoopCore=1,EventsCore=1,EraseFlash=none" -DESP32=ESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/defines -IG:\Inventions\sketches\ESP32\BMEwebServer -iprefix C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/include/ @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/includes -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/qio_qspi/include -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\cores\esp32 -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\variants\esp32da -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\WiFi\src -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Network\src -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Wire\src -Ig:\Inventions\sketches\libraries\Adafruit_BME280_Library -Ig:\Inventions\sketches\libraries\Adafruit_BusIO @C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79/build_opt.h @C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79/file_opts C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\sketch\BMEwebServer.ino.cpp -o nul
Alternatives for SPI.h: [SPI@3.1.0]
ResolveLibrary(SPI.h)
  -> candidates: [SPI@3.1.0]
C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp-x32\2405/bin/xtensa-esp32-elf-g++ -c @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/cpp_flags -w -Os -Werror=return-type -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_WROOM_DA -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32_WROOM_DA" -DARDUINO_VARIANT="esp32da" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="windows" -DARDUINO_FQBN="esp32:esp32:esp32da:UploadSpeed=921600,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,LoopCore=1,EventsCore=1,EraseFlash=none" -DESP32=ESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/defines -IG:\Inventions\sketches\ESP32\BMEwebServer -iprefix C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/include/ @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/includes -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/qio_qspi/include -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\cores\esp32 -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\variants\esp32da -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\WiFi\src -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Network\src -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Wire\src -Ig:\Inventions\sketches\libraries\Adafruit_BME280_Library -Ig:\Inventions\sketches\libraries\Adafruit_BusIO -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\SPI\src @C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79/build_opt.h @C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79/file_opts C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\sketch\BMEwebServer.ino.cpp -o nul
Alternatives for Adafruit_Sensor.h: [Adafruit Unified Sensor@1.1.14]
ResolveLibrary(Adafruit_Sensor.h)
  -> candidates: [Adafruit Unified Sensor@1.1.14]
C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp-x32\2405/bin/xtensa-esp32-elf-g++ -c @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/cpp_flags -w -Os -Werror=return-type -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_WROOM_DA -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32_WROOM_DA" -DARDUINO_VARIANT="esp32da" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="windows" -DARDUINO_FQBN="esp32:esp32:esp32da:UploadSpeed=921600,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,LoopCore=1,EventsCore=1,EraseFlash=none" -DESP32=ESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/defines -IG:\Inventions\sketches\ESP32\BMEwebServer -iprefix C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/include/ @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/includes -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/qio_qspi/include -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\cores\esp32 -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\variants\esp32da -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\WiFi\src -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Network\src -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Wire\src -Ig:\Inventions\sketches\libraries\Adafruit_BME280_Library -Ig:\Inventions\sketches\libraries\Adafruit_BusIO -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\SPI\src -Ig:\Inventions\sketches\libraries\Adafruit_Unified_Sensor @C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79/build_opt.h @C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79/file_opts C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\sketch\BMEwebServer.ino.cpp -o nul
Using cached library dependencies for file: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\WiFi\src\AP.cpp
Using cached library dependencies for file: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\WiFi\src\STA.cpp
Using cached library dependencies for file: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\WiFi\src\WiFi.cpp
Using cached library dependencies for file: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\WiFi\src\WiFiAP.cpp
Using cached library dependencies for file: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\WiFi\src\WiFiGeneric.cpp
Using cached library dependencies for file: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\WiFi\src\WiFiMulti.cpp
Using cached library dependencies for file: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\WiFi\src\WiFiSTA.cpp
Using cached library dependencies for file: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\WiFi\src\WiFiScan.cpp
Using cached library dependencies for file: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Network\src\NetworkClient.cpp
Using cached library dependencies for file: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Network\src\NetworkEvents.cpp
Using cached library dependencies for file: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Network\src\NetworkInterface.cpp
Using cached library dependencies for file: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Network\src\NetworkManager.cpp
Using cached library dependencies for file: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Network\src\NetworkServer.cpp
Using cached library dependencies for file: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Network\src\NetworkUdp.cpp
Using cached library dependencies for file: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Wire\src\Wire.cpp
Using cached library dependencies for file: g:\Inventions\sketches\libraries\Adafruit_BME280_Library\Adafruit_BME280.cpp
Using cached library dependencies for file: g:\Inventions\sketches\libraries\Adafruit_BusIO\Adafruit_BusIO_Register.cpp
Using cached library dependencies for file: g:\Inventions\sketches\libraries\Adafruit_BusIO\Adafruit_I2CDevice.cpp
Using cached library dependencies for file: g:\Inventions\sketches\libraries\Adafruit_BusIO\Adafruit_SPIDevice.cpp
Using cached library dependencies for file: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\SPI\src\SPI.cpp
Using cached library dependencies for file: g:\Inventions\sketches\libraries\Adafruit_Unified_Sensor\Adafruit_Sensor.cpp
Generating function prototypes...
C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp-x32\2405/bin/xtensa-esp32-elf-g++ -c @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/cpp_flags -w -Os -Werror=return-type -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_WROOM_DA -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32_WROOM_DA" -DARDUINO_VARIANT="esp32da" -DARDUINO_PARTITION_default -DARDUINO_HOST_OS="windows" -DARDUINO_FQBN="esp32:esp32:esp32da:UploadSpeed=921600,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,LoopCore=1,EventsCore=1,EraseFlash=none" -DESP32=ESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/defines -IG:\Inventions\sketches\ESP32\BMEwebServer -iprefix C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/include/ @C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/flags/includes -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.3-a0f798cf\esp32/qio_qspi/include -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\cores\esp32 -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\variants\esp32da -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\WiFi\src -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Network\src -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Wire\src -Ig:\Inventions\sketches\libraries\Adafruit_BME280_Library -Ig:\Inventions\sketches\libraries\Adafruit_BusIO -IC:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\SPI\src -Ig:\Inventions\sketches\libraries\Adafruit_Unified_Sensor @C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79/build_opt.h @C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79/file_opts C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\sketch\BMEwebServer.ino.cpp -o C:\Users\Gadgetman\AppData\Local\Temp\2786883164\sketch_merged.cpp
C:\Users\Gadgetman\AppData\Local\Arduino15\packages\builtin\tools\ctags\5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives C:\Users\Gadgetman\AppData\Local\Temp\2786883164\sketch_merged.cpp
Compiling sketch...
"C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp-x32\\2405/bin/xtensa-esp32-elf-g++" -MMD -c "@C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.3-a0f798cf\\esp32/flags/cpp_flags" -w -Os -Werror=return-type -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_WROOM_DA -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD=\"ESP32_WROOM_DA\"" "-DARDUINO_VARIANT=\"esp32da\"" -DARDUINO_PARTITION_default "-DARDUINO_HOST_OS=\"windows\"" "-DARDUINO_FQBN=\"esp32:esp32:esp32da:UploadSpeed=921600,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,LoopCore=1,EventsCore=1,EraseFlash=none\"" -DESP32=ESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 "@C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.3-a0f798cf\\esp32/flags/defines" "-IG:\\Inventions\\sketches\\ESP32\\BMEwebServer" -iprefix "C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.3-a0f798cf\\esp32/include/" "@C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.3-a0f798cf\\esp32/flags/includes" "-IC:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.3-a0f798cf\\esp32/qio_qspi/include" "-IC:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.1.0-RC3\\cores\\esp32" "-IC:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.1.0-RC3\\variants\\esp32da" "-IC:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.1.0-RC3\\libraries\\WiFi\\src" "-IC:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.1.0-RC3\\libraries\\Network\\src" "-IC:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.1.0-RC3\\libraries\\Wire\\src" "-Ig:\\Inventions\\sketches\\libraries\\Adafruit_BME280_Library" "-Ig:\\Inventions\\sketches\\libraries\\Adafruit_BusIO" "-IC:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.1.0-RC3\\libraries\\SPI\\src" "-Ig:\\Inventions\\sketches\\libraries\\Adafruit_Unified_Sensor" "@C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79/build_opt.h" "@C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79/file_opts" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\sketch\\BMEwebServer.ino.cpp" -o "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\sketch\\BMEwebServer.ino.cpp.o"
Compiling libraries...
Compiling library "WiFi"
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\WiFi\WiFiMulti.cpp.o
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\WiFi\AP.cpp.o
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\WiFi\WiFi.cpp.o
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\WiFi\WiFiSTA.cpp.o
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\WiFi\WiFiAP.cpp.o
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\WiFi\STA.cpp.o
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\WiFi\WiFiScan.cpp.o
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\WiFi\WiFiGeneric.cpp.o
Compiling library "Networking"
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\Network\NetworkEvents.cpp.o
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\Network\NetworkUdp.cpp.o
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\Network\NetworkClient.cpp.o
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\Network\NetworkServer.cpp.o
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\Network\NetworkManager.cpp.o
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\Network\NetworkInterface.cpp.o
Compiling library "Wire"
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\Wire\Wire.cpp.o
Compiling library "Adafruit BME280 Library"
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\Adafruit_BME280_Library\Adafruit_BME280.cpp.o
Compiling library "Adafruit BusIO"
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\Adafruit_BusIO\Adafruit_I2CDevice.cpp.o
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\Adafruit_BusIO\Adafruit_BusIO_Register.cpp.o
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\Adafruit_BusIO\Adafruit_SPIDevice.cpp.o
Compiling library "SPI"
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\SPI\SPI.cpp.o
Compiling library "Adafruit Unified Sensor"
Using previously compiled file: C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79\libraries\Adafruit_Unified_Sensor\Adafruit_Sensor.cpp.o
Compiling core...
cmd /c echo -DARDUINO_CORE_BUILD > "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79/file_opts"
Using precompiled core: C:\Users\Gadgetman\AppData\Local\Temp\arduino\cores\8f1aa9d9a3756528d1d828e352f29397\core.a
cmd /c type nul > "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79/file_opts"
Linking everything together...
"C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp-x32\\2405/bin/xtensa-esp32-elf-g++" "-Wl,--Map=C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79/BMEwebServer.ino.map" "-LC:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.3-a0f798cf\\esp32/lib" "-LC:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.3-a0f798cf\\esp32/ld" "-LC:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.3-a0f798cf\\esp32/qio_qspi" -Wl,--wrap=esp_panic_handler "@C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.3-a0f798cf\\esp32/flags/ld_flags" "@C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.3-a0f798cf\\esp32/flags/ld_scripts" -Wl,--start-group "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\sketch\\BMEwebServer.ino.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\WiFi\\AP.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\WiFi\\STA.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\WiFi\\WiFi.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\WiFi\\WiFiAP.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\WiFi\\WiFiGeneric.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\WiFi\\WiFiMulti.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\WiFi\\WiFiSTA.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\WiFi\\WiFiScan.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\Network\\NetworkClient.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\Network\\NetworkEvents.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\Network\\NetworkInterface.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\Network\\NetworkManager.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\Network\\NetworkServer.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\Network\\NetworkUdp.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\Wire\\Wire.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\Adafruit_BME280_Library\\Adafruit_BME280.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\Adafruit_BusIO\\Adafruit_BusIO_Register.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\Adafruit_BusIO\\Adafruit_I2CDevice.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\Adafruit_BusIO\\Adafruit_SPIDevice.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\SPI\\SPI.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\Adafruit_Unified_Sensor\\Adafruit_Sensor.cpp.o" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\cores\\8f1aa9d9a3756528d1d828e352f29397\\core.a" "@C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.3-a0f798cf\\esp32/flags/ld_libs" -Wl,--end-group -Wl,-EL -o "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79/BMEwebServer.ino.elf"
"C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esptool_py\\4.9.dev1/esptool.exe" --chip esp32 elf2image --flash_mode dio --flash_freq 80m --flash_size 4MB --elf-sha256-offset 0xb0 -o "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79/BMEwebServer.ino.bin" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79/BMEwebServer.ino.elf"
esptool.py v4.8.1
Creating esp32 image...
Merged 2 ELF sections
Successfully created esp32 image.
"C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.1.0-RC3\\tools\\gen_esp32part.exe" -q "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79/partitions.csv" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79/BMEwebServer.ino.partitions.bin"
cmd /c if exist "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\Insights" "C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.1.0-RC3\\tools\\gen_insights_package.exe" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79" BMEwebServer.ino "G:\\Inventions\\sketches\\ESP32\\BMEwebServer"
cmd /c if exist "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\libraries\\ESP_SR" if exist "C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.3-a0f798cf\\esp32\\esp_sr\\srmodels.bin" COPY /y "C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.3-a0f798cf\\esp32\\esp_sr\\srmodels.bin" "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79\\srmodels.bin"
"C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esptool_py\\4.9.dev1/esptool.exe" --chip esp32 merge_bin -o "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79/BMEwebServer.ino.merged.bin" --fill-flash-size 4MB --flash_mode keep --flash_freq keep --flash_size keep 0x1000 "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79/BMEwebServer.ino.bootloader.bin" 0x8000 "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79/BMEwebServer.ino.partitions.bin" 0xe000 "C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.1.0-RC3/tools/partitions/boot_app0.bin" 0x10000 "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79/BMEwebServer.ino.bin"
esptool.py v4.8.1
Wrote 0x400000 bytes to file C:\Users\Gadgetman\AppData\Local\Temp\arduino\sketches\A6D1AFC1AC5FBAFA005943DDC210CD79/BMEwebServer.ino.merged.bin, ready to flash to offset 0x0

Using library WiFi at version 3.1.0 in folder: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\WiFi 
Using library Networking at version 3.1.0 in folder: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Network 
Using library Wire at version 3.1.0 in folder: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\Wire 
Using library Adafruit BME280 Library at version 2.2.4 in folder: G:\Inventions\sketches\libraries\Adafruit_BME280_Library 
Using library Adafruit BusIO at version 1.16.2 in folder: G:\Inventions\sketches\libraries\Adafruit_BusIO 
Using library SPI at version 3.1.0 in folder: C:\Users\Gadgetman\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.1.0-RC3\libraries\SPI 
Using library Adafruit Unified Sensor at version 1.1.14 in folder: G:\Inventions\sketches\libraries\Adafruit_Unified_Sensor 
"C:\\Users\\Gadgetman\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp-x32\\2405/bin/xtensa-esp32-elf-size" -A "C:\\Users\\Gadgetman\\AppData\\Local\\Temp\\arduino\\sketches\\A6D1AFC1AC5FBAFA005943DDC210CD79/BMEwebServer.ino.elf"
Sketch uses 965008 bytes (73%) of program storage space. Maximum is 1310720 bytes.
Global variables use 47308 bytes (14%) of dynamic memory, leaving 280372 bytes for local variables. Maximum is 327680 bytes.

Does anybody have a solution to this? Its happening on two seperate computers with the same results. I've searched the internet and these forums. Most say disable virus protection and that doesn't work.
Thank you in advance
Wayne

Hi @Gadgetman9. You could try using Arduino IDE 1.8.19 to see if you get better performance with that version of the IDE than you are with your current modern Arduino IDE 2.x.

You can download Arduino IDE 1.8.19 from the links listed here:

https://www.arduino.cc/en/software#legacy-ide-18x

You can have Arduino IDE 1.8.19 and 2.x installed on your computer at the same time without any problems so you don't need to uninstall Arduino IDE 2.x before installing 1.8.19.

Arduino IDE 2.x actually has several features that give it better compilation performance than 1.8.19 for most users. However, the Arduino IDE 2.x application itself is much more resource intensive than the Arduino IDE 1.x, so on systems with limited available resources, there might not be much left for the compilation processes after the overhead of running the Arduino IDE 2.x application. In this case, Arduino IDE 1.x may provide significantly better compilation performance.

What is on your G drive, and is that a mapped drive? Everything else says cached etc so should be quick.

I found this, hope it helps.
The Arduino IDE compiles files in a specific sequence using its integrated tool chain. Here's how it works:

1. Preprocessing

  • The Arduino IDE collects all the .ino and .cpp files in your sketch folder and combines them into a single temporary .cpp file.
  • It automatically generates function prototypes for your functions to avoid the need for forward declarations.
  • It also includes necessary libraries and dependencies that are part of your sketch.

2. File Organization

  • The .ino file(s) in your sketch folder are merged into one .cpp file in the following order:
    1. Files in the main sketch folder.
    2. Libraries included via #include.
    3. Core files for the selected Arduino board.

Note:

  • .ino files are processed first.
  • Files in the src directory or .cpp files are not merged but compiled separately.

3. Compilation

  • The Arduino IDE uses the GCC (GNU Compiler Collection) tool chain to compile the code.
  • The process involves:
    • Compiling the sketch (.ino) and any additional .cpp or .h files.
    • Compiling library files required by the sketch.
    • Compiling the core files for the selected board (e.g., avr for Arduino UNO).
  • The IDE ensures that all the files are compiled into object files (.o).

4. Linking

  • The object files are linked together to create a single binary file (.elf).
  • This file contains the final executable for the microcontroller.

5. Conversion to Hex

  • The .elf file is converted into a .hex file using the avr-objcopy tool (or equivalent for other architectures).
  • This .hex file is the final output used for uploading to the Arduino board.

6. Uploading

  • The Arduino IDE uses tools like avrdude (for AVR-based boards) to upload the .hex file to the microcontroller over a serial or USB connection.
  • Bootloader software on the board handles the reception and flashing of the firmware.

Things to Keep in Mind

  1. File Order:
  • Files in the sketch folder are compiled in alphabetical order, which might impact dependencies if not structured properly.
  1. Library Search:
  • Libraries are searched in this order:
    1. libraries folder in your sketchbook.
    2. Global Arduino libraries folder.
  1. Board Selection:
  • The selected board determines which core files, linker scripts, and compile flags are used.

So if something is changed the associated files are recompiled.

G is a seperate 1TB hard drive in the system where I store data, pictures and music files

I did notice that while compiling, "Downloading index: package_esp32_dev_index.json" appears at the bottom of the compiling window. This is part of the additional boards menu in Preferences. Perhaps this could be part of the hold up?

It would be nice if each line of output was time stamped. Can you remember where the slowdown happened?

I don't know how I could get a time stamp on the compileing process. I re-ran it and noticed its pretty slow up to the statement "Generating function prototypes". It hangs there for about 5 seconds and then works fairly quick.

I just tried compiling it. First time was 1 min 30 secs. Second time was 47 secs. The first one was longer because there were a lot of library files to be compiled. It seemed normal to me. I am using a M3 2024 MacBook Air with 16GB RAM and 1 TB SSD.

My times are longer. Nano's, Uno's and Mega's compile in 5-15 seconds for me. Guess I'll have to get used to it. What board did you have it set for? I'm using a ESP32-WROOM-DA-Module.

I used the DA module. I am fairly sure I have heard from a reputable source that esp32 compiles are notably longer than the Arduino family.

There is a bug in Arduino IDE 2.3.3 that causes certain processes like the index download to hang if they are performed while Serial Monitor is running. Does the problem of the extremely slow compilation still occur if you close the "Serial Monitor" view before starting a compilation? You can close Serial Monitor by clicking the X icon on the "Serial Monitor" tab in the bottom panel of the Arduino IDE window:

I did not have the serial monitor open. It does seem to take some time to download the index file on initial open. I have a fast internet connection. Maybe its the server its downloading from.

I wonder why that is?

Bigger libraries? Remember there are a handful of Arduino boards, the esp32 boards number in the several dozens, that may cause more overhead, but that is a guess on my part.

Is that with the initial "clean" build or an immediate "cached" no-changes re-build?

I have patched arduino-cli to show the times for each stage. On a low-end quad-core running Windows 11, the times for the bare bones sketch for an ESP32 are

== Win 11              clean     cache
prepare                 2.535     6.216
detecting libraries     1.246     1.188
function prototypes     1.345     1.242
compiling sketch        1.203     1.170
compiling libraries     0.002     0.001
compiling core         15.961     3.804
linking                 1.808     1.803
final                   0.975     0.945
                     --------  --------
                       25.075    16.369

In the same neighborhood, and yeah, pretty bad. Disabling the AV only improves times around 10%. When poking around, I stumbled on the new-ish "Dev Drive" feature on Windows 11. I shrunk the C: drive to make one, and moved everything over

  • Sketchbook directory, including its libraries
  • Arduino15
  • Temp, i.e. my personal TMP and TEMP -- that's where the compiled sketches get cached
== Dev Drive           clean     cache
prepare                 1.395     2.504
detecting libraries     0.946     0.945
function prototypes     0.987     1.000
compiling sketch        0.948     0.952
compiling libraries     0.001     0.001
compiling core         12.616     1.189
linking                 1.684     1.650
final                   0.797     0.783
                     --------  --------
                       19.374     9.025

A 20+% and 40+% reduction. Not as good as Linux on the same box though:

== Linux               clean     cache
prepare                 0.585     0.713
detecting libraries     0.275     0.279
function prototypes     0.378     0.331
compiling sketch        0.365     0.363
compiling libraries     0.000     0.000
compiling core          4.417     0.160
linking                 1.296     1.219
final                   0.334     0.327
                     --------  --------
                        7.650     3.392