1 Punkte von GN⁺ 2023-12-30 | 1 Kommentare | Auf WhatsApp teilen

Was ist ein M3-MacBook-Upgrade wert?

  • Ziel ist es herauszufinden, ob sich ein Upgrade von Entwicklergeräten mit M1/M2-Chips auf M3 lohnt.
  • Die Produktivität von Entwicklern lässt sich nur schwer quantifizieren.
  • Schnelle Feedback-Schleifen erhöhen die Effizienz von Entwicklern.

Erfassung von Build-Telemetrie

  • Verfolgung von Build-Telemetrie auf Entwickler-Laptops mit einem Go-Hot-Reload-Tool.
  • Entwicklung eines eigenen Build-Tools, um Systemebene, Laufzeitmetriken und Build-Telemetrie zu erfassen.
  • Versand der Telemetrie-Ereignisse an ein Data Warehouse.

Datenanalyse

  • Die Analyse begann, nachdem hochwertige Daten erzeugt und ein ausreichend großer Datensatz aufgebaut worden war.
  • Da sich Build-Zeiten je nach System unterscheiden können, ist ein einfacher Vergleich von Durchschnittswerten nicht möglich.
  • Nutzung des neuen Code-Interpreters von OpenAI zur Datenanalyse.

Erstellung eines OpenAI-Assistenten

  • Export der Daten als CSV und Bereitstellung für einen OpenAI-Assistenten zur Analyse.
  • Nutzung des Modells gpt-4-1106-preview für die Datenanalyse.

Datenbereinigung (Stromquelle, Abbrüche usw.)

  • Fehlgeschlagene oder abgebrochene Builds wurden ausgeschlossen.
  • Da bei Builds im Batteriebetrieb Leistungseinbußen möglich sind, wurden nur Builds am Netzstrom berücksichtigt.

Nicht alle Builds sind gleich

  • Go-Projekte bestehen aus verschiedenen „Paketen“, und der Compiler kompiliert nur dann neu, wenn es Änderungen gibt.
  • Build-Zeiten werden in sofort (<3 Sekunden), schnell (<30 Sekunden), mittel (30 Sekunden–1 Minute) und langsam (1 Minute+) eingeteilt.

Vergleich von M1 und M2

  • Nach der Bereinigung auf Netzstrom und erfolgreiche Builds wurden die Plattformen M1 und M2 verglichen.
  • Das M2 Max ist bei der Build-Geschwindigkeit dem M1 Pro deutlich überlegen.

Interner Vergleich innerhalb der M3-Reihe

  • Ein Vergleich der Build-Zeiten zwischen M2 Pro 16GB und M2 Max 32GB zeigte, dass Arbeitsspeicher keinen großen Einfluss hat.
  • Der Leistungsunterschied zwischen M3 Pro und M3 Max rechtfertigt den Preisunterschied nicht.

Gesamtvergleich von M1, M2 und M3

  • Der Vergleich der Build-Zeiten zwischen den Plattformen M1, M2 und M3 zeigt, dass M2 gegenüber M1 eine deutliche Verbesserung bringt.
  • M3 bietet gegenüber M2 nur eine leichte Verbesserung.

Macht Arbeitsspeicher wirklich keinen Unterschied?

  • Es zeigte sich, dass Arbeitsspeicher die Build-Zeiten insgesamt nicht stark beeinflusst.
  • Die Analyse von Linker-Zeiten bestätigte jedoch, dass Arbeitsspeicher die Linking-Performance beeinflusst.

Das M3 MacBook kommt!

  • Es wurde entschieden, dass das neue Space Black M3 Pro-Laptop zur Steigerung der Entwicklerproduktivität beitragen wird.
  • Nutzer von M1-Geräten sollen auf ein M3 Pro mit 36GB Arbeitsspeicher upgraden.
  • Nutzer von M2-Geräten warten mit dem Upgrade, da die aktuelle Leistung bereits gut ist.

Meinung von GN⁺

  • Diese Untersuchung zeigt, dass die Reduzierung von Build-Zeiten direkt zur Steigerung der Entwicklerproduktivität beiträgt.
  • Interessant ist die Erkenntnis, dass Arbeitsspeicher die Build-Zeiten zwar nicht stark beeinflusst, wohl aber die Linker-Zeiten.
  • Der Ansatz zur Datenanalyse mit OpenAI kann auch für andere Unternehmen oder Entwickler ein nützliches Beispiel sein.

1 Kommentare

 
GN⁺ 2023-12-30
Hacker-News-Kommentare
  • Zusammenfassung des ersten Kommentars:

    • Der Artikel ist gut geschrieben, und die Methoden zur Datenerhebung und -analyse sind vielfältig.
    • Es wäre jedoch einfacher und genauer gewesen, die Laptops nebeneinanderzustellen und die Kompilierzeiten im selben Szenario zu messen.
    • Das Sammeln unternehmensweiter Statistiken kann zu Verzerrungen führen. Zum Beispiel könnte es Unterschiede zwischen den Laptops neuerer und langjähriger Mitarbeiter geben.
    • Es wird darauf hingewiesen, dass das Sampling möglicherweise nicht vollständig zufällig und repräsentativ ist.
  • Zusammenfassung des zweiten Kommentars:

    • Als Wissenschaftler interessiert sich der Kommentator dafür, wie Programmierer mit Daten umgehen.
    • Es wurden schöne Grafiken erstellt, und ChatGPT wurde verwendet, um die Analyse schnell zu automatisieren.
    • Es wurde jedoch keine lineare Regression verwendet, obwohl es Schwankungen je nach Speicher und Chiptyp gab.
    • Es wurden Histogramme erstellt, die aber schwer zu vergleichen sind. Man hätte Mittelwerte mit Fehlerbalken hinzufügen oder eine kumulative Verteilungsfunktion verwenden können.
  • Zusammenfassung des dritten Kommentars:

    • Es wird von Erfahrungen mit einem Projekt berichtet, bei dem der Entwicklungs-Stack zur Steigerung der Produktivität statt neuer Laptops auf AWS ausgelagert wurde.
    • Es war ein mehrjähriges Projekt, und am Ende lautete das Fazit, dass ein Laptop-Upgrade besser gewesen wäre.
  • Zusammenfassung des vierten Kommentars:

    • Ehemaliger Kernmitwirkender an Chromium und Node.js sowie aktueller Kernmitwirkender an gRPC Core/C++.
    • Legt auf Build-Zeiten keinen großen Wert. Wichtiger sind Bildschirmgröße und -qualität sowie die Geschwindigkeit des Speichers.
    • Verwendet für private Projekte Bazel, und das Build-System hat einen größeren Einfluss als Fortschritte bei der CPU.
  • Zusammenfassung des fünften Kommentars:

    • Teilt Ergebnisse eigener Untersuchungen zur iOS-Entwicklung.
    • Der Leistungsunterschied zwischen M2 Pro und M1 Pro ist nicht groß. M3 Pro liegt auf einem ähnlichen Niveau wie M2 Pro.
    • Hat sich schließlich einen gebrauchten M1 Pro gekauft und ist zufrieden. Das Preis-Leistungs-Verhältnis ist ausgezeichnet.
  • Zusammenfassung des sechsten Kommentars:

    • Ratschläge zum Einsatz von KI für Datenanalyse.
    • Die Verwendung von Tools wie R oder Stata ist einfacher und besser reproduzierbar.
    • Das Verständnis der Daten und ihrer Entstehungsmechanismen ist die schwierigste Aufgabe in der Datenanalyse.
    • Es wird infrage gestellt, ob die aktuelle KI-Technologie dazu in der Lage ist.
  • Zusammenfassung des siebten Kommentars:

    • Dass Entwickler ihre komplette Umgebung auf einem lokalen Laptop ausführen können, ist eine beachtliche Leistung.
    • Es wird erwähnt, dass es selten ist, in einem Unternehmen die Erfahrung zu machen, das gesamte System auf einer einzigen Maschine ausführen zu können.
  • Zusammenfassung des achten Kommentars:

    • Ein Kommentar vom Autor des Artikels.
    • Themen sind Go-Kompilierungs-Profiling, der Bau eines Hot Reloaders und die Analyse von Build-Datensätzen mit KI.
    • Das Fazit lautet, dass sich ein Upgrade von M1 auf M3 Pro lohnt. Der Unterschied zwischen M2 und M3 ist nicht groß genug, um ein Upgrade zu rechtfertigen.
  • Zusammenfassung des neunten Kommentars:

    • Erklärung des Prozesses, Daten als CSV zu exportieren und mit einem Prompt, der das Ziel erklärt, einen „Assistenten“ zu erstellen.
    • Die Meinung, dass es ein großer Umbruch wäre, wenn Microsoft diesen Prozess in Excel integrieren würde.
  • Zusammenfassung des zehnten Kommentars:

    • M3 Pro bietet eine etwas bessere Leistung als M2 und ist deutlich besser als M1 Pro.
    • M3 ist bei Performance pro Watt und Rendering stärker, aber es wurde entschieden, mit dem Upgrade zu warten, bis ein M3 Ultra mit höherer Speicherbandbreite erscheint.