Programmieren mit Intrinsics: Code optimieren ohne Assembler

Mit Vektorbefehlen lässt sich oft noch viel Leistung aus bestehendem Code holen. Wir zeigen, wie das ohne Assembler-Programmierung funktioniert.

Eine Anleitung von Johannes Hiltscher veröffentlicht am
Maschinennah programmieren geht auch ohne Assembler.
Maschinennah programmieren geht auch ohne Assembler. (Bild: Johannes Hiltscher, Golem.de)

Keine Frage: Compiler erzeugen meist besseren Code als Menschen, doch manchmal muss man ihnen auf die Sprünge helfen. Das gilt besonders für die Verwendung von Vektoranweisungen. Auch hier sind Compiler zwar deutlich besser geworden, übersehen aber oft mögliche Optimierungen. Dann hilft alles nichts und man muss selbst ran und passenden Code schreiben. Da Hochsprachen wie C und C++ aber keine Vektorbefehle mitbringen, bedeutet das, Assembler-Code zu schreiben und mit Registern zu jonglieren. Es geht aber auch einfacher: Mit Intrinsics lassen sich Vektorbefehle und andere plattformspezifische Anweisungen auch ohne Assembler verwenden. Wir zeigen, wie das funktioniert.


Weitere Golem-Plus-Artikel
Container: Einführung in Buildah
Container: Einführung in Buildah

Werkzeugkasten Modern, skriptfähig, sicher: Bei der Containerisierung ist das Open-Source-Tool Buildah eine gute Alternative zum Docker-CLI-Toolset.
Von Martin Reinhardt


Smart-Home-Anwendung: MQTT unter Java nutzen
Smart-Home-Anwendung: MQTT unter Java nutzen

Wer Daten von Sensoren oder ähnlichen Quellen von A nach B senden möchte, kann das Protokoll MQTT verwenden, dank entsprechender Bibliotheken auch einfach unter Java.
Eine Anleitung von Florian Bottke


New Space: Raketenwissenschaft aus Deutschland
New Space: Raketenwissenschaft aus Deutschland

Raumfahrt ist längst nicht mehr nur Sache der großen staatlichen Behörden. Uni-Initiativen und Start-ups entwickeln Satelliten und sogar Raketen. Ein Überblick, in welchen Bereichen sich deutsche New-Space-Unternehmen tummeln.
Ein Bericht von Werner Pluta


    •  /