2in1: Pentium 4 Hyper-Threading Benchmarks

Multithreaded-Benchmarks

Neben Multitasking mit mehreren Applikationen bietet Hyper-Threading auch Vorteile, wenn eine Anwendung ihre Arbeit auf mehrere Threads aufteilt. Anhand folgender drei Anwendungen haben wir die Leistungssteigerung für Multithreaded-Programme ermittelt:

  • Mainconcept MPEG: Video-Encoder, der AVI-Dateien in das MPEG1-Format für Video-CDs und MPEG2 für DVDs umrechnet.

  • Lightwave 3D: 3D-Renderer, der wahlweise auch mit 2, 4 und 8 Threads arbeitet.

  • Cinema 4D: 3D-Modelling- und Animationswerkzeug, das seit Version 8 ein besonders intelligentes Thread-Management einsetzt.

Bei den betrachteten Programmen liegt der Gewinn durch Hyper-Threading zwischen 4 und 23 Prozent. Bei Mainconcept scheint die Thread-Aufteilung des MPEG1-Encoders noch nicht sonderlich gut gelungen. Dass es besser gehen kann, zeigt die Implementierung des MPEG2-Encoders, der um 18,3 Prozent zulegt.

Lightwave ist ein Paradebeispiel für ein wenig intelligentes Thread-Management. Bei zwei Threads zerlegt es die Aufgabe in zwei Teile und rechnet damit los. Wird einer der Threads deutlich früher fertig, etwa weil in seinem Teilgebiet keine komplexen Berechnungen nötig waren, terminiert Lightwave diesen Thread und rechnet die Restzeit nur noch mit einem Thread weiter. Dies erklärt, warum Hyper-Threading mit wachsender Thread-Zahl schneller wird: Bei acht Threads sind fast bis zum Schluss zwei Threads vorhanden, die die zwei Pipelines füllen.

Besser gelöst ist das Problem bei dem zweiten getesteten Render-Programm. Cinema 4D teilt das Bild ebenfalls und rechnet mit zwei Threads los. Ist jedoch einer fertig, wird die restliche Aufgabe erneut geteilt und wiederum auf zwei Threads verteilt. Der Lohn für diese Mehrarbeit: bis zu 23 Prozent Performance-Steigerung.