J'exécute MacOS Catalina 10.15.4 sur un MacBook Pro 15" de 2018, qui possède la puce T2 (si autre chose est pertinent, faites-le moi savoir et je mettrai la question à jour).
Je suis un développeur et je suis en train d'écrire et de déboguer un utilitaire de ligne de commande en C qui est censé prendre quelques milisecondes pour s'exécuter et sortir.
Ma connexion internet s'est interrompue pendant que je codais (le WiFi était toujours connecté, mais mon fournisseur d'accès était en panne), et j'ai ensuite remarqué qu'après avoir compilé l'application, la première fois que je l'ai exécutée, elle a pris quelques secondes au lieu de la fraction de seconde attendue.
J'ai désactivé le WiFi (pour qu'il n'y ait pas de connexion réseau active), j'ai compilé mon application à nouveau et je l'ai exécutée - cette fois, elle a fonctionné aussi rapidement que je l'aurais souhaité.
Allumez le WiFi, compilez et exécutez à nouveau, la première exécution de l'application prend plus de temps que prévu.
Je suis peut-être paranoïaque, mais on dirait bien que MacOS essaie de demander aux serveurs d'Apple la bénédiction pour exécuter mon application. Est-ce le cas, ou pourrait-il y avoir une autre explication ? Si c'est effectivement le cas, quelqu'un peut-il m'indiquer un article expliquant ce qui se passe sous le capot ?
UPDATE Comme demandé, voici les temps pour une moyenne de trois exécutions de la commande suivante, dans différentes conditions :
touch file.c && make && time ./file && time ./file
La première mesure est le temps moyen d'exécution file
pour la première fois après la compilation (la troisième commande de la chaîne). La deuxième mesure est le temps moyen d'exécution de file
pour la deuxième fois après la compilation (la quatrième commande de la chaîne).
WiFi activé, avec Internet : 347 ms/3 ms.
WiFi activé, sans internet : 5024 ms/3 ms.
Toutes les connexions réseau hors ligne : 24 ms/2 ms.