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.

Neueste Beiträge

Builder meets Faker - Testdata-Builder, Teil 2
Wer viele Testdaten braucht, liebt Bogus: Die Library erzeugt auf Knopfdruck realistische Daten und geht mit dem Builder-Pattern eine perfekte Kombination ein.
6 Minuten
12. Nov 2025
Generative AI und Python - Python und AI, Teil 4
Generative KI mit Python nutzen und so die Basis für eigene Anwendungen schaffen.
7 Minuten
Vor dem Prompt ist nach dem Prompt - KI für KMU, Teil 2
Wie bereitet man Anfragen an Large Language Models bestmöglich vor?
7 Minuten
13. Nov 2025
Miscellaneous

Das könnte Dich auch interessieren

Attraktives GUI mit Spectre.Console - Best of NuGet, Teil 6
Mit der Bibliotheksfamilie Spectre.Console steht ein neues Produkt ante portas, das die Realisierung von visuell ansprechenden Kommandozeileninterfaces zu erleichtern sucht.
7 Minuten
29. Okt 2025
Loggingdaten-Einlaufstelle mit Komfortfunktionen - Best of NuGet, Teil 5
Die in Android implementierte Logging-Funktion ist ein leistungsfähiges Beispiel für moderne Logging-Systeme. Mit Serilog steht ein ähnliches System für .NET-Applikationen zur Verfügung, das allerdings einige weit über das große Vorbild hinausgehende Funktionen offeriert.
6 Minuten
22. Okt 2025
Benchmark im Unit-Test-Stil - Best of NuGet, Teil 4
NuGet-Pakete können das Leben des .NET-Entwicklers sogar um neue Werkzeuge erweitern, die sich auf den Entwicklungsworkflow (und nicht den bearbeiteten Code) auswirken. Mit BenchmarkDotNet steht ein Musterbeispiel dieses Konzepts zur Verfügung, das die Überprüfung der Performance von Code aller Arten ermöglicht.
7 Minuten
16. Okt 2025
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige