Künstliche Intelligenz
Rust Coreutils 0.6 erreicht 96 Prozent GNU-Kompatibilität
Die Entwickler der Rust Coreutils haben Version 0.6 veröffentlicht. Die Rust-Neuimplementierung klassischer Unix-Werkzeuge erreicht damit 96,28 Prozent Kompatibilität zur GNU-Test-Suite und besteht 622 von 646 Tests. Gegenüber der im Dezember erschienenen Version 0.5 mit 87,75 Prozent Kompatibilität bedeutet das einen Sprung von über acht Prozentpunkten.
Weiterlesen nach der Anzeige
Besonders bemerkenswert: Die Zahl der fehlgeschlagenen Tests sank von 55 auf nur noch 16, während die Anzahl übersprungener Tests von 23 auf 7 zurückging. Die Entwickler testeten gegen die GNU Coreutils 9.9 als Referenz.
Weniger unsicherer Code
Ein Schwerpunkt der neuen Version liegt auf der Reduzierung von unsafe Code. Die Entwickler entfernten unsichere Passagen in den Utilities date, sort und locale.rs. Statt direkter libc-Aufrufe nutzt die Software nun das nix-Crate, das sichere Rust-Wrapper um POSIX-Systemaufrufe bereitstellt.
Für die Tools rm, du, chmod und chgrp verwenden die Entwickler ab Version 0.6 die System-Calls openat und unlinkat über das nix-Crate für sichere Directory-Traversal. Diese Änderungen eliminieren ganze Klassen von Sicherheitslücken wie Buffer Overflows oder Use-After-Free-Fehler, die bei direkten libc-Aufrufen auftreten können.
Performance-Optimierungen
Version 0.6 bringt Performance-Verbesserungen für mehrere Tools. Die Base-Encoding-Utilities base32, base64 und basenc arbeiten durch reduzierte memset-Operationen schneller. Das Tool shuf erhielt eine optimierte numerische Ausgabe und eine neue Option --random-seed. Bei date beschleunigt ein BufWriter das Batch-Processing, während uniq die Speichernutzung für Case-Insensitive-Vergleiche optimiert.
Das Tool tsort vermeidet nun das vollständige Einlesen der Eingabe in den Speicher, was bei großen Datenmengen deutliche Vorteile bringt. Auch df profitiert von einem verbesserten Dateisystem-Handling.
Weiterlesen nach der Anzeige
Bessere Internationalisierung
Die neue Version erweitert die Lokalisierungsunterstützung erheblich. Das Tool date nutzt jetzt ICU-Support für locale-aware Datums- und Monatsbezeichnungen sowie Stundenformatierung und Kalenderunterstützung. In sort funktioniert die numerische Sortierung ab sofort mit Tausendertrennzeichen, während join locale-aware Collation unterstützt. Die Entwickler integrieren zudem Weblate für Community-Übersetzungen.
Erweiterte Plattformunterstützung
Rust Coreutils 0.6 unterstützt offiziell RISC-V 64-bit mit musl-Target in der CI-Pipeline. Die Cygwin-Unterstützung für Windows-Nutzer wurde ebenfalls ausgebaut. Neu hinzugekommen ist Support für das SMACK Security Module in den Tools ls, id, mkdir, mkfifo und mknod.
Das Tool tail erhielt ein --debug-Flag, verbesserte Symlink-Verfolgung mit der Option -F und FIFO-Timeout-Handling für --pid. Bei timeout implementierten die Entwickler umfassendes Signal-Handling und eine --verbose-Option.
Das Sortiertool sort unterstützt nun Legacy-Syntax mit +POS/-POS, bietet Debug-Key-Annotationen und bessere locale-aware Sortierung. Bei pr korrigierten die Entwickler Fehler bei Headers, Form Feeds und Pagination. Die Tools chmod und rm behandeln rekursive Operationen und Symlinks besser als zuvor.
Ubuntu und Fedora setzen auf Rust Coreutils
Die Entwicklung der Rust Coreutils gewinnt in der Linux-Welt zunehmend an Bedeutung. Ubuntu 25.10 verwendet bereits Rust Coreutils 0.2.2 als Standard im Rahmen der Oxidising-Ubuntu-Initiative von Canonical. Fedora plant, Version 0.5 in Fedora 44 als Option für Early Adopters anzubieten – allerdings nicht als Standardvariante wie bei Ubuntu.
Auf der FOSDEM 2026 am 1. Februar berichtete Sylvestre Ledru vom uutils-Kernteam über praktische Erfahrungen mit Rust Coreutils in Ubuntu. Der Vortrag „Rust Coreutils in Ubuntu: Yes, we rewrote /bin/true in Rust – Here’s what really happened“ gab Einblicke in Packaging-Komplexität, undokumentierte Verhaltensweisen und den Umgang mit kritischen System-Tools.
Die Entwicklergemeinschaft wächst stetig: An Version 0.6 wirkten 41 neue Contributors mit. Wer die Rust Coreutils testen möchte, findet sie im GitHub-Repository des Projekts.
(fo)
Künstliche Intelligenz
Effizientes C++: Die versteckten Kosten des Rückgabedatentyps auto
Im heutigen Beitrag möchte ich mich mit dem Schreiben von effizientem C++-Code befassen. Dieses Thema lässt sich nicht in einem einzigen Beitrag behandeln. Zum Start möchte ich mich auf die Steuerung der Zeit konzentrieren, die der Compiler benötigt, und dabei ein Element der Sprache herausgreifen: auto.
Weiterlesen nach der Anzeige

Andreas Fertig ist erfahrener C++-Trainer und Berater, der weltweit Präsenz- sowie Remote-Kurse anbietet. Er engagiert sich im C++-Standardisierungskomitee und spricht regelmäßig auf internationalen Konferenzen. Mit C++ Insights ( hat er ein international anerkanntes Tool entwickelt, das C++-Programmierenden hilft, C++ noch besser zu verstehen.
Ich halte die Typinferenz auto für eine großartige Erweiterung der Sprache. Mit der C++14-Version von auto als Rückgabedatentyp ist es ein guter Weg, flexiblere und akkuratere Funktionen zu schreiben. Allerdings geht das zu Kosten eines längeren Kompiliervorgangs.
Aber beginnen wir ohne auto als Rückgabedatentyp. Hier ist eine Dummy-Funktion, die nichts Interessantes macht:
int Fun(bool b, int val)
{
if(b) {
return val * 2;
} else {
return val / 2 * 3;
}
}
Ich brauchte für das Beispiel lediglich eine Funktion mit einem Rumpf, der für den Compiler nicht völlig trivial war. Da es im heutigen Beitrag um effizientes C++ geht, möchte ich über die Zeit sprechen, die zum Kompilieren dieser wenigen Zeilen Code erforderlich ist. Dabei geht es nicht unbedingt um die absoluten Zahlen, da diese auf verschiedenen Rechnern unterschiedlich sein werden.
Wie kannst du deinen Compiler überhaupt messen? Eine Möglichkeit ist der Linux-Befehl time. Dieser liefert jedoch nur wenige Informationen, die nicht dabei helfen, deine Build-Zeiten zu verbessern. Wenn dir ein Build langsam erscheint, benötigst du kein Tool, das dir sagt, dass du recht hast, sondern ein Tool, das dir zeigt, wo eine mögliche Beschleunigung möglich ist.
Wenn time nicht das richtige Tool ist, was dann? Ganz einfach: dein Compiler! Zumindest Clang. Er verfügt über die hilfreiche Befehlszeilenoption -ftime-trace. Damit kann Clang für jede Objektdatei eine .json-Datei mit zahlreichen Daten erstellen. Du kannst die Informationen beispielsweise mit Chrome und seinem Tracing Viewer untersuchen. Öffne einfach einen Tab und gib chrome://tracing ein. Lade dann die JSON-Datei. Für den obigen Code auf meinem Rechner mit Clang 19 sieht die Visualisierung so aus:
Weiterlesen nach der Anzeige

Screenshot von Chrome mit den Tracing-Ergebnissen von Clang
Ein Wort zu meiner Vorgehensweise: Ich gehe davon aus, dass die Funktion Fun in einer Header-Datei steht und in der aktuellen Übersetzungseinheit nicht verwendet wird. Einfachheitshalber habe ich keinen anderen Code eingefügt oder verwendet. Ich habe eine .cpp-Datei mit dem oben gezeigten Code wie folgt compiliert:
clang++ -c a.cpp -ftime-trace
Zurück zur Visualisierung, auch wenn sie etwas kompakt ist. Die obere Leiste mit der Aufschrift ExecuteCompiler benötigt 6,499 ms.
Verwendung von auto als Rückgabedatentyp
Hier ist eine modifizierte Version des vorherigen Codes. Die einzige Änderung, die ich vorgenommen habe, ist die auto statt int als Rückgabedatentyp.
auto Fun(bool b, int val)
{
if(b) {
return val * 2;
} else {
return val / 2 * 3;
}
}
Wenn ich diesen Code messe, erhalte ich folgende Ergebnisse:

Dieses Mal benötigt ExecuteCompiler 8,114 ms. Das sind ungefähr 1,5 ms mehr. Ja, das stimmt, das ist nur ein einzelner Datenpunkt. Vielleicht haben wir es hier mit Jitter zu tun. Das kann sein. Vielleicht gibt es Aufrufe, bei denen die beiden Zahlen näher beieinander liegen, aber es ist unwahrscheinlich, dass sie jemals gleich werden. Ich bin mir hier sicher, weil im zweiten Trace ein zusätzlicher Schritt erscheint: ParseFunctionDefinition. Dieser Schritt ist nur vorhanden, wenn man auto als Rückgabedatentyp für die Funktion verwendet oder die Funktion tatsächlich aufruft. Aber ich gehe davon aus, dass Fun in einer Header-Datei deklariert ist.
Das zweite Codebeispiel benötigt wegen ParseFunctionDefinition länger zum Kompilieren. Mit auto von C++14 als Rückgabedatentyp muss der Compiler die Funktionsdefinition nachschlagen, wenn er die Deklaration analysiert. Ohne auto verschiebt der Compiler die Analyse des Funktionsrumpfs, bis er wirklich benutzt wird.
Zusammenfassung
Wenn du die Dauer des Kompiliervorgangs optimieren möchtest, solltest du auf Funktionen achten, die auto als Rückgabedatentyp in Header-Dateien verwenden.
(rme)
Künstliche Intelligenz
Real User Monitoring: Dynatrace lenkt den Observability-Fokus auf Anwender
Mit der Observability-Plattform von Dynatrace lassen sich nahezu alle wichtigen Aspekte eines IT-Systems überwachen: Anwendungen, Plattform, Systemleistung, Infrastruktur und viele weitere. Doch eine bedeutende Komponente rund um das Verwenden von Applikationen und Diensten fehlte: die Anwenderinnen und Anwender. Im Rahmen seiner Perform-Konferenz kündigte das Unternehmen nun Dynatrace RUM Experience an – Real User Monitoring im Frontend, das die bisherige Classic-Variante ablöst. Erklärtes Ziel ist es, mit dem neuen Baustein die Brücke vom Überwachen der IT-Performance bis zu den Nutzerinteraktionen mit Web- und Mobile-Applikationen zu schlagen.
Weiterlesen nach der Anzeige
(Bild: AtemisDiana/Shutterstock)

Mehr zu Observability bietet die Online-Konferenz Mastering Observability von iX und dpunkt.verlag am 16. April 2026. Die Konferenz widmet sich unter anderem den Herausforderungen automatisierter Observability für KI- und agentenbasierte Systeme.
RUM Experience: Nutzerinteraktionen als Schlüssel zur Fehleranalyse
Was genau ist Dynatrace RUM Experience und warum ist diese Funktion nützlich? Die Erfahrungen, die Anwenderinnen und Anwender beim Nutzen von Single-Page-Applikationen (SPAs) und mobilen Anwendungen sammeln, können entscheidende Hinweise auf potenzielle Fehlfunktionen geben. Solche Fehler sind in der Regel das Ergebnis einer Reihe von Nutzerinteraktionen. Ohne den Kontext – was hat der Anwender wann geklickt? – ist deren Analyse häufig schwierig oder gar nicht möglich, sodass sich auch die Fehlfunktionen nicht beheben lassen. Noch komplizierter wird die Situation, wenn mehrere miteinander verlinkte Applikationen ins Spiel kommen.
RUM setzt den Fokus auf die Nutzerinteraktion als das fehlende Bindeglied zwischen Telemetriedaten im Frontend und Systeminformationen im Backend. Die Analyse der daraus gewonnenen Erkenntnisse liefert dann auch Antworten auf businessrelevante Fragen, etwa an welcher Stelle und warum ein potenzieller Kunde eine Verkaufsseite verlassen hat. War nur eine nicht intuitive Navigation der Grund oder das zu langsame Laden von Daten oder beides – oder gab es noch andere Ursachen?

Dashboard der neuen Dynatrace RUM Experience
(Bild: Dynatrace)
Drei Kernkomponenten für umfassendes Frontend-Monitoring
Weiterlesen nach der Anzeige
Die standardmäßige Oberfläche von RUM enthält drei vorgefertigte Elemente: Experience Vitals, Error Inspector und Users & Sessions. Erstere verknüpft Telemetriedaten vom Frontend mit Anfragen an das Backend. So kann festgestellt werden, wo Leistungsprobleme in der Infrastruktur die Schnittstelle zu den Nutzern unnötig verlangsamen. Dabei kommen Industriestandards wie Core Web Vitals oder ANR (Application Not Responding) zum Einsatz. Der Error Inspector führt eine erste Analyse aufgetretener Fehler durch. Danach gruppiert und priorisiert er diese. So können sich Administratoren und Entwickler auf solche Fehler konzentrieren, die am wichtigsten und kritischsten sind. Users & Sessions erlaubt das Nachvollziehen der tatsächlichen Nutzerinteraktionen. Wo hat sich der Anwender in der Menüstruktur verirrt? Wo hat das Laden von Daten zu lange gedauert und der Nutzer die Anwendung verlassen? Insbesondere der letzte Punkt ist für Webshopbetreiber von dringender Bedeutung. Im Gespräch mit heise developer ließen einige Dynatrace-Kunden durchblicken, dass manchmal allein die Farbänderung eines Banners schon einen Umsatzzuwachs von über zehn Prozent bewirken kann.
Die Datenverwaltung für RUM erfolgt in Grail (Data Lakehouse) und Smartscape (Dependency Graph) – ergänzt durch erweiterte Richtlinien zum Datenschutz. Das beginnt mit den bekannten Zugriffsregeln und Regeln zur Dauer der Datenaufbewahrung. Am anderen Ende steht das Generieren von Prüfberichten bezüglich der Einhaltung der Datenschutzrichtlinien.
Setup und technische Implementierung
Zum leichteren Start hat Dynatrace die ersten Schritte mit RUM für Web-Anwendungen und/oder Mobile-Applikationen dokumentiert. Im Idealfall ist das Setup innerhalb weniger Minuten erledigt. Im Falle von Web-Anwendungen muss der Dynatrace OneAgent dort laufen und die Applikation instrumentieren können. Zu den unterstützten Webservern zählen unter anderem Apache, NGINX, IIS und Node.js. In anderen Fällen sind mehr manuelle Schritte zum Aufsetzen von RUM nötig, die entsprechend länger dauern. Im Mobile-Umfeld erstreckt sich die Unterstützung von Android und iOS bis hin zu plattformübergreifenden Anwendungen, die mit React Native, Flutter oder .NET MAUI programmiert sind. Da auch das neue RUM Experience auf der Inspektion von HTTP-Kopfzeilen und Cookies basiert, müssen für dessen Einsatz Firewalls entsprechend freigeschaltet sein – so wie bisher schon für RUM Classic.
Die neue Dynatrace RUM Experience lässt sich laut Ankündigung im Blog ab sofort nutzen. Sämtliche Funktionen und Apps sind im Rahmen einer Dynatrace Platform Subscription auf SaaS-Tenants der Version 330 oder höher standardmäßig verfügbar.
(map)
Künstliche Intelligenz
Opel Astra Facelift: Kein Schaltgetriebe mehr zu haben
Im Dezember 2025 stellte Opel den überarbeiteten Astra vor. Ab sofort kann er bestellt werden, die Auslieferung dürfte noch im Frühjahr beginnen. Man mache den Kunden ein Angebot, das sie überzeuge, sagt Opel Deutschland-Markenchef Patrick Dinger. Zweckoptimismus gehört zu seinem Job, doch etwas nüchterner betrachtet dürfte der Astra trotz seiner Qualitäten eine schwierige Zeit vor sich haben. Denn Opel hat an einigen Stellen die Chance verpasst, das Auto fit für die zweite Hälfte seiner geplanten Bauzeit zu machen.
Weiterlesen nach der Anzeige
Es gibt ein flotter agierendes Infotainmentsystem und eine leichte Umgestaltung der Front, die das Auto etwas rundlicher erscheinen lässt. Dazu verspricht Opel nochmals weiter verbesserte Sitze. Im Kern war es das dann schon mit den äußerlichen Neuerungen. Dazu kann die Traktionsbatterie des Astra Electric auch Strom für externe Verbraucher liefern. Tiefgreifender sind die Veränderungen bei den Antrieben. Der Basisbenziner fliegt ebenso aus dem Sortiment wie die Option auf ein Schaltgetriebe. In der ersten Preisliste des überarbeiteten Modells sind nur noch Versionen enthalten, die dem Fahrer diese Aufgabe abnehmen. Das dürfte den bisherigen Vorlieben der meisten Kunden entgegenkommen, verschiebt aber die Preise ein Stück weit nach oben.
Hybrid wird Basis
Finanziell ist das neue Grundmodell der 1,2-Liter-Hybrid mit 107 kW und elektrifiziertem Sechsgang-Doppelkupplungsgetriebe. Der Diesel mit 96 kW und Achtgang-Wandlerautomatik kostet schon rund 1600 Euro mehr. Vom 2025 vorgestellten Plug-in-Hybrid ist Opel offenkundig sehr überzeugt, denn der kostet nochmals fast 500 Euro mehr als der Astra Electric.
Im PHEV kombiniert Opel einen 1,6-Liter-Vierzylinder, der 110 kW leistet, mit einem 92-kW-E-Motor, der in einem Siebengang-DKG steckt, und einer 17,2-kWh-Batterie. Leider kann weiterhin nur einphasig mit bis zu 7,4 kW geladen werden. Dass Opel wenigstens diese Ladeleistung nun endlich ohne weitere Zusatzkosten reicht, ist nur ein schwacher Trost. Denn genutzt werden kann das in der Regel nur an öffentlicher Ladeinfrastruktur. An privaten Wallboxen ist meist bei 3,7 kW Schluss. Die Reichweite im WLTP gibt Opel mit 82 bis 84 km an. Vielleicht lockt Interessenten ja, dass kein anderer Astra derzeit so schnell ist wie der Plug-in-Hybrid: 225 km/h Spitze und 7,6 bzw. 7,7 Sekunden (Kombi) stellen die anderen Modelle diesbezüglich in den Schatten.
DC-Laden bleibt bei 100 kW
Der Astra Electric wurde mit einer minimal größeren Batterie ausgestattet, die nun 58 statt 54 kWh bietet. Damit könne man, so schreibt es Opel, bis zum ersten Ladestopp rund 35 km weiter reisen als bisher. Das bezieht sich auf den WLTP und dürfte in der Praxis eine recht optimistische Einschätzung sein. Bis zu 454 km im Zyklus werden in vielen Fahrprofilen vermutlich dennoch reichen. Dennoch wird sich manch ein Interessent fragen, warum es in anderen Konzernmodellen auf dieser Basis möglich ist, wenigstens mit 120[ ]kW in der Spitze laden zu können, während es im Astra bei 100 kW bleibt. Leben müssen die Kunden der elektrifizierten Versionen auch mit einem deutlich kleineren Kofferraum. Die Verbrenner fassen 422 (Limousine) bis 597 Liter (Kombi) Im Astra Electric bleiben davon 352 bis 516 Liter übrig, im Plug-in-Hybrid nur 310 bis 466.
Weiterlesen nach der Anzeige
Kein Sonderangebot
In die Kalkulation der Preise für den Astra Electric dürfte eingeflossen sein, dass ein Teil der Kundschaft auf eine Kaufprämie hoffen darf. Doch ein Listenpreis von mindestens 37.990 Euro ist angesichts der eher durchschnittlichen technischen Eckdaten kein Sonderangebot, um es einmal zurückhaltend zu formulieren. Sollte Opel das Interesse entwickeln, den Elektroauto-Anteil der Astra-Verkäufe anzuheben, wird das wohl nur über sinkende Preise klappen. Die Förderung schiebt den Listenpreis des Astra Electric unter Umständen unter den des Hybridmodells. Vielleicht hilft das ein Stück weit, auch die real zu zahlenden Preise in ein Fenster zu schieben, in dem mehr Astra-Interessenten als bisher den batterieelektrischen Antrieb (Test) in Erwägung ziehen. Von seinen Umgangsformen her ist er unverändert der angenehmste und hätte daher eine größere Resonanz verdient.
Mehr zur Marke Opel
-
Entwicklung & Codevor 3 MonatenKommandozeile adé: Praktische, grafische Git-Verwaltung für den Mac
-
Künstliche Intelligenzvor 1 MonatSchnelles Boot statt Bus und Bahn: Was sich von London und New York lernen lässt
-
Apps & Mobile Entwicklungvor 2 MonatenHuawei Mate 80 Pro Max: Tandem-OLED mit 8.000 cd/m² für das Flaggschiff-Smartphone
-
Apps & Mobile Entwicklungvor 2 MonatenFast 5 GB pro mm²: Sandisk und Kioxia kommen mit höchster Bitdichte zum ISSCC
-
Entwicklung & Codevor 2 MonatenKommentar: Anthropic verschenkt MCP – mit fragwürdigen Hintertüren
-
Social Mediavor 2 MonatenDie meistgehörten Gastfolgen 2025 im Feed & Fudder Podcast – Social Media, Recruiting und Karriere-Insights
-
Datenschutz & Sicherheitvor 2 MonatenSyncthing‑Fork unter fremder Kontrolle? Community schluckt das nicht
-
Künstliche Intelligenzvor 3 MonatenWeiter billig Tanken und Heizen: Koalition will CO₂-Preis für 2027 nicht erhöhen
