Estoy corriendo macOS Catalina 10.15.4 en 2018 MacBook Pro de 15", que tiene la T2 chip (si todo lo demás es relevante, hágamelo saber y voy a actualizar a la pregunta.)
Soy desarrollador y estoy en el proceso de la escritura y depuración de un C utilidad de línea de comandos que se supone que va a tomar un par de milisegundos para ejecutar y salir.
Mi conexión a internet se fue abajo mientras yo estaba de codificación (WiFi estaba conectado, pero mi ISP fue abajo), y después me di cuenta de que, después de compilar la aplicación, la primera vez que me encontré, me tomó un par de segundos en lugar de la esperada fracción de segundo.
He desactivado el WiFi (por lo que no hubo conexión de red activa), compilado mi aplicación de nuevo, y corrió, esta vez se corrió tan rápido como cabría esperar.
Activar WiFi, compile y ejecute de nuevo, la primera ejecución de la aplicación tarda más de lo esperado.
Tal vez estoy paranoico, pero seguro que suena como macOS está tratando de pedir a los servidores de Apple para bendición para ejecutar mi aplicación. Es este el caso, o podría haber otra explicación? Si es el caso, puede alguien enlace a un artículo que explica lo que está pasando bajo el capó?
ACTUALIZACIÓN: como se pide, aquí están los tiempos para un promedio de tres carreras de los siguientes comandos, bajo diferentes condiciones:
touch file.c && make && time ./file && time ./file
La primera medición es el promedio de tiempo para la ejecución de file
por primera vez después de la compilación (el tercer comando de la cadena). La segunda medida es el promedio de tiempo para la ejecución de file
para el segundo tiempo después de la compilación (el cuarto mandamiento de la cadena).
WiFi, con internet: 347 ms/ms 3.
WiFi, sin necesidad de internet: 5024 ms/ms 3.
Todas las conexiones de red sin conexión: 24 ms/2 ms.