1 points par GN⁺ 2023-12-30 | 1 commentaires | Partager sur WhatsApp

Quelle est la valeur d’une mise à niveau vers un MacBook M3 ?

  • Déterminer s’il vaut la peine de faire passer les machines des développeurs de puces M1/M2 à M3.
  • Il est difficile de quantifier la productivité des développeurs.
  • Des boucles de feedback rapides améliorent l’efficacité des développeurs.

Collecte de la télémétrie de build

  • Suivi de la télémétrie de build sur les laptops des développeurs à l’aide d’un hot reloader Go.
  • Développement d’un outil de build maison pour suivre des métriques système, des métriques d’exécution et la télémétrie de build.
  • Envoi des événements de télémétrie vers un data warehouse.

Analyse des données

  • Début de l’analyse après avoir produit des données de haute qualité et constitué un dataset suffisant.
  • Une simple comparaison des moyennes est impossible, car les temps de build peuvent varier selon les systèmes.
  • Analyse des données à l’aide du nouveau interpréteur de code d’OpenAI.

Création d’un assistant OpenAI

  • Export des données en CSV puis transmission à un assistant OpenAI pour analyse.
  • Utilisation du modèle gpt-4-1106-preview pour l’analyse des données.

Nettoyage des données (source d’alimentation, annulations, etc.)

  • Exclusion des builds en échec ou annulés.
  • Les builds exécutés sur batterie pouvant subir une baisse de performance, seuls les builds lancés sur alimentation secteur sont pris en compte.

Tous les builds ne se valent pas

  • Les projets Go sont composés de différents « paquets », et le compilateur ne recompile qu’en cas de changements.
  • Les temps de build sont classés en instantanés (<3 s), rapides (<30 s), moyens (30 s-1 min) et lents (1 min+).

Comparaison entre M1 et M2

  • Comparaison des plateformes M1 et M2 après nettoyage des données pour ne garder que les builds réussis sur alimentation secteur.
  • Le M2 Max est nettement plus rapide que le M1 Pro en vitesse de build.

Comparaison interne des M3

  • La comparaison des temps de build entre un M2 Pro 16GB et un M2 Max 32GB montre que la mémoire n’a pas d’impact majeur.
  • L’écart de performance entre le M3 Pro et le M3 Max ne justifie pas l’écart de prix.

Comparaison globale M1, M2 et M3

  • La comparaison des temps de build entre les plateformes M1, M2 et M3 montre que le M2 apporte une nette amélioration par rapport au M1.
  • Le M3 n’apporte qu’un léger gain par rapport au M2.

La mémoire ne fait-elle vraiment pas la différence ?

  • Les résultats montrent que la mémoire n’a pas d’impact important sur les temps de build.
  • L’analyse des données sur le temps du linker confirme toutefois que la mémoire influence les performances de l’édition de liens.

Le MacBook M3 arrive !

  • Il a été décidé que le nouveau laptop M3 Pro Space Black contribuerait à améliorer la productivité des développeurs.
  • Les utilisateurs de M1 prévoient de passer à un M3 Pro avec 36GB de mémoire.
  • Les utilisateurs de M2 attendront avant de mettre à niveau, les performances actuelles étant déjà bonnes.

Avis de GN⁺

  • Cette étude montre que réduire les temps de build des développeurs a un effet direct sur l’amélioration de la productivité.
  • Il est intéressant de constater que la mémoire n’a pas de grand effet sur les temps de build, mais peut en avoir sur le temps du linker.
  • La méthode d’analyse des données avec OpenAI peut aussi constituer un exemple utile pour d’autres entreprises ou développeurs.

1 commentaires

 
GN⁺ 2023-12-30
Réactions sur Hacker News
  • Résumé du premier commentaire :

    • Le billet est bien écrit et les méthodes de collecte et d’analyse des données sont variées.
    • Mais il aurait été plus simple et plus précis de placer les laptops côte à côte et de mesurer les temps de compilation dans le même scénario.
    • Collecter des statistiques à l’échelle de toute l’entreprise peut introduire des biais. Par exemple, il peut y avoir des différences entre les laptops utilisés par les nouveaux employés et ceux des employés plus anciens.
    • Le commentaire souligne que l’échantillonnage peut ne pas être entièrement aléatoire ni représentatif.
  • Résumé du deuxième commentaire :

    • En tant que scientifique, l’auteur s’intéresse à la manière dont les programmeurs traitent les données.
    • De beaux graphiques ont été produits, et ChatGPT a été utilisé pour automatiser rapidement l’analyse.
    • Cependant, aucune régression linéaire n’a été utilisée malgré la variabilité liée à la mémoire et au type de puce.
    • Un histogramme a été tracé, mais il est difficile à comparer. Il aurait été possible d’ajouter des moyennes avec des barres d’erreur, ou d’utiliser une fonction de distribution cumulée.
  • Résumé du troisième commentaire :

    • Partage d’une expérience sur un projet visant à déporter la stack de développement sur AWS afin d’améliorer la productivité des développeurs au lieu d’acheter de nouveaux laptops.
    • C’était un projet mené sur plusieurs années, avec au final la conclusion qu’il aurait mieux valu simplement mettre à niveau les laptops.
  • Résumé du quatrième commentaire :

    • Ancien contributeur majeur à Chromium et Node.js, aujourd’hui contributeur principal sur gRPC Core/C++.
    • Il accorde peu d’importance au temps de build. Ce qui compte, c’est la taille et la qualité de l’écran, ainsi que la vitesse du stockage.
    • Il utilise Bazel pour ses projets personnels, et estime que le système de build a plus d’impact que les progrès du CPU.
  • Résumé du cinquième commentaire :

    • Partage des résultats d’une étude personnelle sur le développement iOS.
    • La différence de performance entre le M2 Pro et le M1 Pro n’est pas importante. Le M3 Pro est à un niveau similaire au M2 Pro.
    • Au final, l’auteur a acheté un M1 Pro d’occasion et en est satisfait. Le rapport performance/prix est excellent.
  • Résumé du sixième commentaire :

    • Conseils sur l’utilisation de l’IA pour l’analyse de données.
    • Utiliser des outils comme R ou Stata est plus simple et plus reproductible.
    • Comprendre les données et le mécanisme qui les génère est la partie la plus difficile de l’analyse de données.
    • Le commentaire s’interroge sur la capacité des technologies d’IA actuelles à accomplir cela.
  • Résumé du septième commentaire :

    • Le fait que les développeurs puissent exécuter l’environnement complet en local sur leur laptop est déjà une grande réussite.
    • Il est mentionné qu’en entreprise, il est rare de pouvoir faire tourner l’ensemble du système sur une seule machine.
  • Résumé du huitième commentaire :

    • Commentaire de l’auteur du billet.
    • Il y est question du profilage de compilation Go, de la construction d’un hot reloader et de l’analyse d’un jeu de données de build à l’aide de l’IA.
    • Conclusion : passer du M1 au M3 Pro vaut le coup. En revanche, la différence entre le M2 et le M3 n’est pas assez importante pour justifier une mise à niveau.
  • Résumé du neuvième commentaire :

    • Explication du processus consistant à exporter les données en CSV puis à créer un « assistant » accompagné d’un prompt expliquant l’objectif.
    • Avis selon lequel ce serait un changement majeur si Microsoft intégrait ce processus dans Excel.
  • Résumé du dixième commentaire :

    • Le M3 Pro offre des performances légèrement meilleures que le M2, et nettement supérieures à celles du M1 Pro.
    • Le M3 est meilleur en performance par watt et en rendu, mais l’auteur a décidé d’attendre une éventuelle sortie du M3 Ultra avec davantage de bande passante mémoire avant de changer de machine.