Docker promet des performances bien meilleures sur les Mac grâce à une nouvelle option dans la dernière version et grâce à une nouveauté intégrée à macOS Monterey. La version 4.6 propose un nouveau réglage à activer après installation (dans les paramètres et « Experimental features ») et qui permettra alors d’utiliser VirtioFS pour les échanges de données entre macOS et les conteneurs virtualisés par le biais de Docker. C’est sur ce point que le gain de performances est attendu, avec jusqu’à 98 % de temps nécessaire en moins pour réaliser certaines opérations.
C’est un gain spectaculaire, mais qui ne se verra pas forcément à l’usage. Tout dépend de ce que vous faites avec Docker et l’un des développeurs de MacGeneration qui passe ses journées dans des conteneurs n’a noté aucune différence significative sur son MacBook Pro avec puce M1 Pro. Pour pouvoir exploiter les performances en progrès, il faut travailler avec de grosses quantités de données à échanger entre la machine virtuelle et macOS.
Docker donne sur son blog quelques benchmarks pour donner une idée des gains à espérer dans ces cas de figure. Ainsi, l’import d’une base de données MySQL de 284 Mo nécessitait plus de trois minutes avec la version précédente, la même opération prend moins de vingt secondes avec la mise à jour. Dans un autre genre, l’installation de dépendances avec Composer au sein d’un gros projet PHP est passé de quasiment une minute trente à une dizaine de secondes seulement.
Si cette nouveauté n’est pas activée par défaut, c’est qu’elle peut aussi poser problème et bloquer certains conteneurs. Un bug lié aux permissions est notamment connu de Docker et sera corrigé ultérieurement. Les développeurs qui croisent des problèmes sont invités à se manifester sur cette issue GitHub.