Moderne MacBook-Benchmarks für die Android-Entwicklung Kirill Rozov | Januar 2022

Autor des Fotos Daniel Igdery https://unsplash.com/photos/FCHlYvR5gJI
Kirill Rosow

Die Wahl eines Geräts ist nie so einfach wie es ist, aber das neue Apple Silicon SoC für Mac hat den Markt ordentlich erschüttert und die Wahl noch schwerer gemacht. Welches MacBook soll ich kaufen? Wie unterschiedlich sind sie? Es ist schwer zu verstehen. Außerdem ist die Suche nach detaillierten Tests eine Höllenarbeit.

In diesem Artikel gebe ich Ihnen korrekt Vergleich der Build-Geschwindigkeiten anhand einiger realistischer Android-Projekte und einer Reihe verschiedener MacBook-Modelle. Außerdem sage ich Ihnen, welche Sie bis 2022 kaufen sollten.

In diesem Test habe ich die neuesten Intel-betriebenen MacBook Pro-Laptops sowie einige der neuesten MacBooks mit verwendet M1.

  1. iMac 27 “Intel Core i7 6700K von Ende 2015. | 24 GM RAM
  2. MacBook Pro 16 “2019 i7 9750H 6 CPU-Kerne / 12 Threads | 16 GB RAM
  3. MacBook Pro 16 “2019 i9 9880H 8 CPU-Kerne / 16 Threads | 32 GB RAM
  4. MacBook Air 2020 M1 | 16 GB Arbeitsspeicher
  5. MacBook Pro 14 “2021 M1 Pro 8 CPU | 16 GB RAM
  6. MacBook Pro 14 “2021 M1 Pro 10 CPU | 32 GB RAM
  7. MacBook Pro 16 “2021 M1 Pro 10 CPU | 32 GB RAM
  8. MacBook Pro 16 “M1 Max | 32 GB RAM

Ich habe Ende 2015 meinen alten iMac 27″ hinzugefügt, um zu testen, wie weit die neuen Mac-Modelle fortgeschritten sind.

Es ist nicht einfach sicherzustellen, dass alle Computer unter den gleichen Bedingungen funktionieren, aber ich habe versucht, perfekt zu sein:

  • Verwenden der neuesten Version von JDK 11. Für Apple Silicon habe ich Zulu ARM JDK verwendet
  • Verwenden von Gradle 7.3.3 zum Erstellen von Projekten (neueste Version zum Zeitpunkt des Tests verfügbar)
  • Schalten Sie externe Displays aus
  • Schließen Sie alle Computer an eine Stromquelle an
  • Schließen Sie so viele Programme wie möglich, auch die im Hintergrund
  • Schließen Sie Android Studio!
  • Versetzen Sie den Computer in den Ruhemodus (falls verfügbar)
  • Stellen Sie alle Laptops auf eine harte, ebene Oberfläche, damit der Luftstrom eindringen und den Laptop kühlen kann
  • Berühren Sie Computer während der Tests nicht
  • Deaktivieren Sie die Spotlight-Indizierung oder fügen Sie Testprojektordner zu Ausnahmen hinzu.

Wenn Sie weitere Bedingungen kennen, die vor dem Benchmark-Test berücksichtigt werden müssen, lese ich sie gerne in den Kommentaren unten.

Ich habe Tests mit durchgeführt Gradle-Profiler im Benchmark-Modus, der die Zeit misst, die zum Erstellen eines Projekts erforderlich ist. Die Ergebnisse, die Sie sehen werden, sind die Mittelwerte von zehn Testläufen, denen zwei Aufwärmübungen vorausgegangen sind, die nicht gewertet haben.

Ich habe alle getesteten Projekte Lagerund jedes Projekt hat sein eigenes Startup-Testszenario (a performance.scenarios Datei).

Die genauen Ergebnisse finden Sie in der folgenden Tabelle.

TiVi 0.6.3

TiVi ist eine kleine TV-Show-Tracking-Anwendung, die auf basiert trakt.tv.

Beckencodezeilen: 15K
Module: 25

Dieses Projekt ist recht klein, aber auch hier hinkt Intel dem M1 deutlich hinterher. Der M1 Pro / Max ließ den M1 nur eine Sekunde hinter sich. Diese Tests zeigen uns eines deutlich: Schon bei einem kleinen Projekt wie diesem sieht man, dass Apple Silicon deutlich schneller ist als der Intel Core 9 der 9. Generation.

TiVi 0.6.3 Benchmark-Ergebnisse

ExoPlayer r.2.16.1

ExoPlayer ist ein beliebter Mediaplayer auf Mediaplayer-Ebene für Android.

Java-Codezeilen: 225.000
Module: 35

Dieses nächste Projekt demonstriert die Vorteile einer Reihe von Hochleistungskernen im M1 Pro / Max. Die Ergebnisse zeigen einen deutlichen Vorsprung: Der M1 hatte ein Ergebnis von 39,4 Sekunden, während der M1 Pro / Max 10 Core 28 Sekunden erreichte. Währenddessen erzielte Intels bester Chip 43,9 Sekunden.

ExoPlayer r.2.16.1 Benchmark-Ergebnisse

Fokus 95.2.0

Fokus ist eine sichere Version von Firefox, die sich auf den Datenschutz konzentriert.

Beckencodezeilen: 19K
XML-Codezeilen: ~ 30.000.
Module: 3

Die Kriterien für Focus zeigen bereits deutliche Muster. Allerdings zeigen sie auch, dass die M1 Pro 8 Core Version nicht wesentlich hinter der Vollversion des M1 Pro oder M1 Max zurückbleibt.

Focus 95.2.0 Benchmark-Ergebnisse

Firefox 95.2.0

Feuerfuchs ist die Vollversion von Firefox.

Beckencodezeilen: ~ 97.000.
XML-Codezeilen: ~ 100.000.
Module: 4

Die Kompilierung von Kotlin-Code ist im Vergleich zu Java langsamer. Dennoch zeigen Apple-Prozessoren eine beständige Steigerung der Kompilierungsgeschwindigkeit. Das einzige ist, dass Sie immer noch keinen Unterschied zwischen M1 Pro 8-Kern- und 10-Kern-CPUs sehen können. Was?

Firefox 95.2.0-Benchmark-Ergebnisse

Signal 5.28.8

Signal ist eine beliebte Alternative zum Telegramm.

Java-Codezeilen: 248K
Beckencodezeilen: 42K
XML-Codezeilen: ~ 270.000
Module: 13

Schließlich kann man sehen, dass die 8 Kerne im M1 Pro langsamer sind als die Standardversion dieses Prozessors. Darüber hinaus unterstützt es nur die Schlussfolgerungen, die aus früheren Projekten gezogen wurden.

Benchmark-Ergebnisse Signal 5.28.8

Telegramm 8.2.1

Telegramm Android GitHub ist ein beliebter Bote. Dort ist der Code ziemlich ungewöhnlich: Es gibt ein NDK und die gesamte Benutzeroberfläche ist in Java-Code, es gibt kein Basin und es gibt kein apt oder kapt, um den Code zu generieren.

Java-Codezeilen: 700.000
C-Codezeilen: 988K
XML-Codezeilen: ~ 40.000
Module: 1

Telegram Android ist das größte Projekt, das ich getestet habe, und zeigt deutlich den Unterschied zwischen den Prozessoren. Die Benchmarks waren verblüffend: Es ist das einzige Projekt, das ich getestet habe, bei dem der i7 und i9 in der MacBook Pro-Version 2019 das Projekt schneller machen konnten als der Apple M1 im MacBook Air. Natürlich musste ich wissen, warum es passiert ist.

Telegramm 8.2.1 Benchmark-Ergebnisse

Es stellt sich heraus, dass der Grund dafür CMake und die ursprünglichen Kompilierungstools sind, von denen es viele in Telegram gibt. Apple M1 führt die Kompilierung mit aus Rosette 2. Während ich dies schreibe, unterstützt Android NDK Apple Silicon immer noch nicht. CMake (ab Version 3.19) und andere Tools unterstützen es jedoch bereits. Sie können die Einzelheiten lesen Hier.

Im weiteren Verlauf werden wir also einen deutlichen Schub erhalten: Der Apple M1 hat zumindest die Chance, den i7 und (lasst uns wild träumen!) sogar den i9 zu übernehmen. Warten wir also auf das fertige Werkzeug. Der Test zeigt auch deutlich, dass das M1 Pro / Max so unoptimierte Software ausführt, dass es sogar in der Lage ist, das 9. i9-Gen herunterzuladen.

Benchmark-Ergebnisse

Sie können Intel Core nicht abschreiben, wenn Ihr Projekt viel Quellcode enthält. Übrigens gibt es keinen Grund, Intel-Prozessoren zu verwenden: Sie werden sogar von den einfachsten Apple M1 übertroffen. Mit der Zeit werden die Tools fertig sein und die Vorteile des Besitzes eines Apple-Prozessors werden noch offensichtlicher.

Ein MacBook Air mit einem M1 würde für die meisten mobilen Entwickler ausreichen. Trotzdem würde ich empfehlen, das mit 16 GB RAM zu kaufen. Auf diese Weise können Sie Anwendungen für Android und iOS erstellen und die Entwicklung auf mehreren Plattformen (Kotlin Multiplatform, Flutter) ausprobieren. Ein riesiger Vorteil ist, dass es keinen Kühlschrank gibt, wodurch es ruhig, aber manchmal ziemlich heiß wird (wenn der Bau besonders lange dauert).

Wenn Sie an großen Projekten arbeiten und maximale Funktionen oder über 16 GB RAM wünschen, würde ich empfehlen, sich das MacBook Pro mit der M1 Pro 10-Core-CPU genauer anzusehen. Das 16-Zoll-Modell wird schneller und leiser sein.

Der M1 Max und der M1 Pro zeigten keinen signifikanten Unterschied in den Testergebnissen. Wenn Sie Entwickler sind, lohnt es sich, die Max-Version nur zu kaufen, wenn Sie 64 GB RAM benötigen oder mehr Bedürfnisse als die Entwicklung haben, wie z. B. Videobearbeitung oder die Arbeit mit 3D-Grafiken. Und es lohnt sich, nur ein 16-Zoll-Modell zu kaufen – die 14-Zoll-GPU hat eine niedrigere FPS, und der Prozessor wird viel früher heruntergefahren und wird viel lauter, wenn er überhitzt. Denken Sie auch daran, dass das 14-Zoll-Modell einen kleineren Akku hat, und selbst wenn Sie nichts Kompliziertes tun, ist die Akkulaufzeit im Vergleich zum 16-Zoll-Modell kürzer.

Ich würde gerne weitermachen und die Kompilierungsleistung auf High-End-Prozessoren von AMD und Intel vergleichen, aber es gibt immer noch keine Möglichkeit, dies zu tun. Die Tests habe ich bereits gemacht Ryzen 5950X mit Linux, und es ist extrem schnell! Die erste synthetische Waage für I9 12900HK sie versprechen! Aber das ist das Thema für einen anderen Artikel …