Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 2 Min.

Mit Span die Performance steigern

Softwareentwickler Bohdan Stupak gibt in einem CodeProject-Artikel einen Überblick über die C#-Funktion Span und liefert ein Beispiel dafür, wie sie die vorhandene Codebasis verbessern kann.
Der Erfahrung von Entwickler Stupack nach besteht die wichtigste Maßnahme zur Verbesserung der Leistung einer Anwendung darin, die Anzahl und Dauer der IO-Calls zu reduzieren. Um das zu erreichen nutzen Entwickler häufig Speicher auf dem Stack. Für die Allokation von Speicher auf Stack werden Werttypen oder der Stackalloc-Operator in Kombination mit nicht verwaltetem Speicher verwendet.Die zweite Option Span<T> wird von Entwicklern nur selten verwendet, da das API für den Zugriff auf nicht verwalteten Speicher recht ausführlich ist. Span<T> ist eine Familie von Werttypen, die seit Version 7.2 in C# enthalten ist und ermöglicht Entwicklern auf bequemere Weise mit zusammenhängenden Speicherbereichen zu arbeiten und dabei die Speicher- und Typsicherheit zu gewährleisten.Span<T> bietet eine sichere und einfach zu handhabende Alternative zu Stackallock, mit der sich Leistungsverbesserungen leicht erzielen lassen. Allerdings ist der Gewinn bei einzelnen Anwendung des Konstrukts Span relativ gering. Bei konsequenter Anwendung ergibt sich allerdings ein nennenswerter Vorteil, sagt Bohdan Stupak. In der Codebasis von .NET Core 3.0 ist Span weit verbreitet und mitverantwortlich für die Tempogewinne, die Microsoft mit dieser Version erzeilen konnten.Weitere Informationen zum Thema sowie die Beispiele und Performance-Tests von Bohdan Stupak finden Sie in seinem CodeProjekt-Artikel auf dieser Seite. Microsofts Dokumentation zu Span<T> finden Sie auf dieser Seite.
Miscellaneous

Neueste Beiträge

"Menschen erzählen Geschichten, keine CRUD-Operationen" - Interview
Event Sourcing gilt als kompliziert. Golo Roden von native web GmbH erklärt im DWX-Interview, warum das ein Missverständnis ist – und warum das Konzept das perfekte Fundament für KI-Projekte liefert.
19. Aug 2026
Die Kunst der langen Aufgabenläufe - Kimi K3 – das Modell hinter dem Agenten, Teil 2
Ein guter Code-Generator löst eine klar umrissene Funktion. Ein Coding-Agent muss dagegen ein Repository erkunden, Hypothesen bilden, Werkzeuge auswählen, Tests auswerten und nach Fehlschlägen den Kurs ändern. Kimi K3 zielt auf diese zweite Klasse von Aufgaben.
8 Minuten
MessagePack: JSON als Binär-Image - Best of NuGet, Teil 10
Das Serialisierungsformat MessagePack wurde – anders als JSON – konsequent auf die Bedürfnisse von Maschinen und damit auch auf höchstmögliche Kompaktheit optimiert. Der Vorteil: Ein geringeres zu übertragendes Datenvolumen führt vor allem in IoT-nahen Anwendungen direkt zu geringeren Kosten.
6 Minuten
17. Aug 2026

Das könnte Dich auch interessieren

Das Firmata-Protokoll für einfache Mess- und Steuerungsaufgaben - Best of NuGet, Teil 8
Wer kleinere Mess-, Steuerungs- und Regeltechnik-Aufgaben aus .NET heraus abwickeln möchte, kommt mit einem preiswerten und mit Firmata-Software ausgestatteten Arduino meist problemlos ans Ziel.
7 Minuten
27. Jul 2026
.NET-Color-Picker für WPF- und Avalonia-Applikationen - Best of NuGet, Teil 7
Mit PixiEditor.ColorPicker steht eine Bibliothek in den Startlöchern, die Entwicklern von Desktop-zentrierten Applikationen verschiedene hochwertige Farbauswahldialoge zur Verfügung stellt.
6 Minuten
20. Jul 2026
Wiederholend wie ein Papagei: Polly - Best of NuGet, Teil 8
Viele Probleme der Systemtechnik lassen sich durch wiederholtes Versuchen oder durch Rate Limiting lösen. Die .NET-Bibliothek Polly stellt Entwicklern hierfür verschiedenste Maßnahmen zur Resilienz-Steigerung in Form von schlüsselfertigen Bausteinen zur Verfügung.
6 Minuten
10. Aug 2026
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige