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
ChatGPT: AI-Chatbots als Hardware-Kaufberater
ChatGPT: AI-Chatbots als Hardware-Kaufberater

Kann uns ChatGPT beim PC-Kauf helfen? Die kurze Antwort: Jein. Wir zeigen Möglichkeiten und Grenzen des Chatbots und geben Tipps, wie man ihn am besten nutzt.
Eine Anleitung von Martin Böckmann


Glasfasernetze: Warum Open Access viel zu selten gemacht wird
Glasfasernetze: Warum Open Access viel zu selten gemacht wird

Die Telekom betont den Willen zu Kooperationen im Festnetz durch Open Access. Laut alternativen Betreibern ist das nicht ehrlich. Doch so einfach ist es nicht.
Ein Bericht von Achim Sawall


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


    •  /