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

Managed DevOps Pools - Azure DevOps Pipelines Security
Agent Pools als Managed Service mit einfacher Integration in private Netzwerke und Authentisierung mittels Managed Identity tragen deutlich zur Sicherheit der Agent-Infrastruktur bei.
7 Minuten
7. Aug 2025
Dokumente in MongoDB speichern
Der GridFS-Speicher als Fundament für KI-gestützte .NET-Anwendungen
6 Minuten
13. Aug 2025
Meine Ziele – deine Ziele – unsere Ziele
Verfolgt ein Entwicklungsteam gemeinsame Ziele, so kommt, auch bei sehr erfolgreichen Teams, irgendwann der Zeitpunkt, wo die individuellen Ziele einzelner Mitglieder in den Vordergrund treten und das Team gefährden. Warum ist das so, und wie gehen wir damit angemessen um?
7 Minuten
14. Aug 2025
Miscellaneous

Das könnte Dich auch interessieren

Sicher ist sicher - Azure DevOps Pipelines Security
Als integraler Bestandteil der Entwicklungsumgebung ist Azure DevOps Pipelines oft Ziel von Angriffen. Da ist es gut zu wissen, wo die Schwachstellen des Systems liegen.
14 Minuten
16. Jun 2025
CodeProject.AI Server in neuer Version - Lokaler AI-Server
CodeProject.AI Server (jetzt in Version 2.1.10) ist ein lokal installierter, selbstgehosteter, schneller, kostenloser und Open Source Artificial Intelligence Server für jede Plattform und jede Sprache.
2 Minuten
Für Einsteiger: Backend-Webentwicklung mit .NET - Microsoft
Auf YouTube bietet Microsoft eine Videoserie für Einsteiger in die Backend-Webentwicklung mit .NET.
2 Minuten
13. Feb 2024
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige