Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 3616|Antwort: 2

[Quelle] .NET/C# verwendet Span, um Strings mit hoher Leistung zu handhaben

[Link kopieren]
Veröffentlicht am 25.05.2023 20:13:18 | | | |
Anforderungen: In letzter Zeit habe ich beim Betrachten von<T> Wissen wie Spann und Speicher <T>das Gefühl, dass es viele Vorteile bei der Nutzung solcher Objekte gibt, wie zum Beispiel: direkter Zugriff auf den Speicher (und sehr sicher), Verringerung unnötiger Speicherzuweisung (je nach Szene, z. B. Substring-Interception bei String-Conversion), Änderung von Werten im Speicher und weiterhin Lernen, nicht dieses tiefgehende Verständnis.

System.Span<T> ist ein neuer Werttyp im .NET-Kern. Es unterstützt eine Darstellung eines zusammenhängenden beliebigen Speicherbereichs, unabhängig davon, ob dieser Speicher mit einem verwalteten Objekt verbunden ist, durch nativen Code über Interop bereitgestellt wird oder sich im Stack befindet. Dies geschieht und bietet dennoch sicheren Zugriff mit Leistungsmerkmalen, die denen von Arrays ähneln. Im Einsatz gewährleistet Span Speicher- und Datensicherheit mit wenig bis keinem Overhead.

Wenn wir zum Beispiel Substring verwenden, um einen String in den Typ int, guid, long usw. umzuwandeln, verwenden wir den abgefangenen Inhalt der String nicht mehr, aber das Aufrufen eines Substrings, um einen neuen String zurückzugeben, fordert neuen Speicherplatz an.

Zunächst wird das Benchmarking-Tool Benchmarking Benchmarking eingeführt, wie folgt:

.NET/C# verwendet BenchmarkDotNet, um die Code-Performance zu testen
https://www.itsvse.com/thread-9576-1-1.html
Der Testcode ist wie folgt:

Die Ergebnisse sind wie folgt:



Referenz:

Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar.





Vorhergehend:.NET/C#-Syntax-Goto-Anweisung
Nächster:Docker erstellt Online-Mindmaps basierend auf draw.io
Veröffentlicht am 26.05.2023 14:11:02 |
Komm und lerne...
 Vermieter| Veröffentlicht am 01.09.2023 21:59:03 |
Falls ja,.NET-Frameworkkann referenziert werdenSystem.Memory.dllVerwenden Sie ReadOnlySpan, AsSpan
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com