LaTeX-Benchmark: Mac M1 vs. Lenovo P1 bzw. macOS vs Linux

Für viele Entwickler ist der CPU-intensivste Prozess das Kompilieren großer Projekte. Für mich als Autor ist es die Umwandlung von Markdown-Dateien zuerst in die LaTeX-Syntax (Pandoc) und dann in ein PDF-Dokument (latex, dvips, ps2pdf). Seit ein paar Tagen verfüge ich über einen Mac Mini M1 als zusätzlichen Testrechner. Natürlich war ich neugierig, wie schnell das Ding nun wirklich ist — im einzigen Real-World-Test, der für mich relevant ist: Beim Erzeugen von PDFs aus LaTeX-Dateien.

Setup

Mein voll wissenschaftliches ;-) Benchmark-Setup sah so aus:

  • Rechner 1: Lenovo P1 Notebook mit i7-8750H-CPU, 32 GB RAM, Ubuntu 20.04 LTS

  • Rechner 2: Mac Mini M1: 16 GB RAM, M1-CPU, macOS 11.2

Die zu übersetzende LaTeX-Datei ist 1,3 MByte groß (das ergibt ca. 550 Seiten Text), die einzubettenden EPS-Dateien umfassen 80 MByte, die resultierende PDF-Datei ist dann ca. 18 MByte groß. Überschaubare Datenmengen also.

Sämtliche Werkzeuge (latex, dvips, ps2pdf) sind single-threaded, profitieren also leider nicht von vielen CPU-Cores.

Linux plus Docker

Unter Linux verwende ich für Pandoc und LaTeX einen Docker-Container, der sämtliche Werkzeuge in einer unveränderlichen Version enthält. Die Verwendung von Docker hat sich sehr bewährt, erstens weil ich ohne viel Installationsarbeiten ein ganzes Buch schnell auf einen anderen Rechner »übersiedeln« kann und alles weiter funktioniert, und zweites, weil nicht irgendwelche LaTeX- oder Pandoc-Updates die Kompatibilität zu meinen handgestrickten Scripts zerstören.

Wenn mein Notebook im ‚Leise-Modus‘ läuft (CPU-Takt auf 80% = 2,2GHz limitiert, kein Turbomodus), dann dauert die PDF-Erzeugung (zuerst pandoc, dann 2x latex, dvips und ps2pdf) ca. 2:09 min, also 129 Sekunden.

Wenn ich es eilig habe und die CPU auf ‚Performance‘ stelle (volle Taktfrequenz, mit Turbomodus), verdoppelt sich die Geschwindigkeit nahezu, Laufzeit 1:14 min. Allerdings heult dann der Lüfter wie ein Düsenjäger, was ich hasse und die Konzentration mindert.

macOS plus Docker

Docker für den Mac Mini M1 hat in den letzten Wochen massive Fortschritte gemacht und läuft inzwischen ziemlich gut. Ich habe mit RC3 vom 1. April gearbeitet. Viele weit verbreitete Images stehen bereits nativ für ARM zur Verfügung. Mein LaTeX-Script läuft in 1:12 min, also im Rahmen der Messungenauigkeit gleich schnell wie auf dem Lenovo-Notebook bei voller CPU-Leistung. Allerdings ist der Mac Mini dabei absolut lautlos. (Es gibt einen Lüfter. Dieser läuft dauerhaft mit 1700 RPM, ist aber für meine Ohren unhörbar. Wenn man nicht gerade synthetische Benchmark-Tests oder das Xcode-Image auspackt ausführt, wird der Lüfter nie hörbar.)

PS: Alle (und speziell die heise.de-Autoren), die meinen, Docker sei angesichts der Container-Konkurrenz durch Podman und Co. obsolet, sollen einmal versuchen, mit Containern auf nicht Intel-kompatiblen Systemen bzw. außerhalb der Linux-Welt zu arbeiten :-)

macOS nativ mit MacTeX 2021

Die ersten Versionen von Docker für die ARM-CPU von Apple litten unter massiven Performance-Problemen, besonders bei I/O-Operationen. Massiv betroffen waren Datenbanksysteme. Mittlerweile scheinen dieses Probleme weitgehend behoben zu sein, aber ich wollte doch wissen, ob Docker in meinem Setup nicht ein Bremsklotz ist.

Also habe ich MacTeX 2021 installiert (erst seit wenigen Tagen verfügbar, unterstützt die ARM-Architektur nativ) und meinen Test damit wiederholt. Ergebnis: 1:05 min. (Pandoc habe ich auch bei diesem Test unter Docker ausgeführt, weil es die von mir benötigte Pandoc-Version nicht als nativen ARM-Download gibt. Ich habe mir deswegen die schon etwas ältere Pandoc-Version 2.7.3 aus den Quellen selbst in ein Ubuntu-Docker-Image kompiliert.)

Zusammenfassung

Laufzeiten für pandoc sowie für 2x latex, dvips, ps2pdf

                                Zeit              Geräuschkulisse
------------------------------- ----------------  --------------------
Lenovo P1 8750H@2,2 GHz         49 + 80 = 129 s    zumeist lautlos
Lenovo P1 8750H@4 GHz           29 + 45 =  74 s    störend
Mac Mini M1 (LaTeX in Docker)   28 + 44 =  72 s    lautlos
Mac Mini M1 (LaTeX nativ)       28 + 37 =  65 s    lautlos

Alles in allem ist die Performance der M1-CPU eindrucksvoll — insbesondere, wenn man nicht nur die Geschwindigkeit, sondern auch die Leistungsaufnahme berücksichtigt. Ich weiß natürlich, dass ich Äpfel mit Birnen vergleiche: Die Intel-CPU ist ca. zwei Jahre älter als die M1-CPU. Der Mac ist ein (kleiner) Desktop-Rechner, als Vergleichsrechner musste ein Notebook herhalten. Ein Desktop-System mit einer aktuellen Intel- oder AMD-CPU ist natürlich schneller als beide Testkandidaten, und bei geeigneter Kühlung für meine Aufgabenstellung ebenfalls (nahezu) lautlos.

Andererseits: So flüssig sich macOS auf einem M1-Rechner anfühlt — auch Apple kocht nur mit Wasser. Synthetische Tests (z.B. GeekBench) lassen den M1 schneller erscheinen, als er bei Real-World-Aufgaben tatsächlich ist. Nach dem Mediengetöse seit der M1-Vorstellung hatte ich eigentlich erwartet, dass der Mac Mini mein Notebook meilenweit abhängen würde. Das ist definitiv nicht der Fall. (Ich kann natürlich nicht ausschließen, dass Apple mit dem M1X oder M2 oder wie auch immer der M1-Nachfolger heißen wird, noch einmal ordentlich nachlegt. Aber die CPU-Entwicklung bleibt ja auch bei Intel und AMD nicht stehen. Speziell bei Intel erwarte ich, dass die Firma jetzt aus dem Dornröschenschlaf der letzten Jahre erwacht. Nichts motiviert besser als gute Konkurrenz.)

Links

Ein Gedanke zu „LaTeX-Benchmark: Mac M1 vs. Lenovo P1 bzw. macOS vs Linux“

  1. Die M1 ist wohl eine gute CPU, aber einer guten AMD Ryzen ist sie „um Welten“ unterlegen, siehe dazu:

    https://archivista.ch/cms/de/aktuell-blog/blogs-2020/avmultimedia-2020-x-ryzen-4000u/

    Wer aktuell eine Intel CPU nimmt, ist echt jetzt selber schuld. Beim hier angeführten Test wird eine i7-8750H mit dem M1 verglichen. Die i7-8750H errreicht bei cpubenchmark.net den Wert von 10,189, die Ryzen 5800HS (ebenfalls Prozessor für Notebook) erreicht 22,083. Und wenn ich ein Desktop-Gerät nehen wollte, dann kann ich aktuell sehr eine Ryzen 3950X bzw. 5950X (aktuell eher schwer erhältlich) empfehlen. Die 3950X bringt bei cpubenchmark.net einen Wert von 39,251, die 5950X ein Score von 46,096,. Ich darf dem gerne anführen, dass die Ryzen 3990X bzw 3995WX nochmals die plus/minus die doppelten Werte der Ryzen 3950/5950 erbringt, doch erscheint mir bei diesen CPUs das Preis/Leisutngsverhätlnis nicht optiomal, da ich die Lösung mit 3950/5950 für ca. einen Viertel/Drittel des Preises hinkriege.

    A prpos Kosten: Ich weiss, die 3950X oder 5950X kostet fast soviel wie ein Mac Mini, nur kostet danach die 2TB SDD „nur“ 200 Euro und nicht deren 600, womit der Rest des Ryzen Gerätes dann auch finanziert ist. Und im übrigen ist der Vergleich zwischen einem Gerät, wo jedes Open Source OS läuft und einem geschlossenen System wie bei Apple für mich in der Tat wie ein Äpfel und Birnen Vergleich. Ich für meinen Teil möchte kein geschlossenes System wie bei Apple, andere wiederum wollen genau dies (sollten sich dann aber nicht darüber beklagen, wenn die 2TB SDD mehr als dreimal so teuer ist).

    Ich nutze die Ryzen Rechner primär für das Übersetzen von Sourcecode und das Rendern von 4K-Videos; und erhalte dabei sehr tolle Werte (insbesondere auch auf meinem Notebook). LaTeX ist übrigens auch dabei, für die 2×200 Seiten Dokumentation der ArchivistaBox benötige mit vier virtuell zugewiesenen CPUs mit KVM ca. 1.8 Sekunden, um die PDF-Handbücher (400 Seiten) zu erstellen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Wenn Sie hier einen Kommentar absenden, erklären Sie sich mit der folgenden Datenschutzerklärung einverstanden.