Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 3616|Odpowiedź: 2

[Źródło] .NET/C# wykorzystuje Span do obsługi ciągów o wysokiej wydajności

[Skopiuj link]
Opublikowano 25.05.2023 20:13:18 | | | |
Wymagania: Ostatnio, patrząc na wiedzę<T> taką jak Span i Pamięć<T>, uważam, że korzystanie z takich obiektów ma wiele zalet, takich jak: bezpośredni dostęp do pamięci (i bardzo bezpieczny), zmniejszenie niepotrzebnego przydziału pamięci (w zależności od sceny, np. przechwytywanie podciągów przy konwersji ciągów znaków), modyfikacja wartości w pamięci oraz ciągłe uczenie się, choć nie tak dogłębne zrozumienie.

System.Span<T> to nowy typ wartości w rdzeniu .NET. Obsługuje reprezentację ciągłego obszaru dowolnej pamięci, niezależnie od tego, czy jest ona powiązana z obiektem zarządzanym, dostarczana przez natywny kod przez interoperację, czy znajduje się w stosie. Robi to, jednocześnie zapewniając bezpieczny dostęp, z charakterystykami wydajności podobnymi do macierzy. W użyciu Span zapewnia bezpieczeństwo pamięci i danych przy minimalnym lub żadnym najeździe.

Na przykład, jeśli użyjemy podciągu do konwersji ciągu na int, guid, long itd., nie będziemy już używać treści przechwyconego ciągu łańcuchowego, ale wywołanie Podciągu w celu zwrócenia nowego ciągu zażąda nowej przestrzeni pamięci.

Po pierwsze, wprowadzono narzędzie benchmarkingowe BenchmarkDotNet, w następujący sposób:

.NET/C# wykorzystuje BenchmarkDotNet do testowania wydajności kodu
https://www.itsvse.com/thread-9576-1-1.html
Kod testu jest następujący:

Wyniki są następujące:



Odniesienie:

Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.





Poprzedni:.NET/C# składnia goto
Następny:Docker tworzy internetowe mapy myśli na podstawie draw.io
Opublikowano 26.05.2023 14:11:02 |
Przyjdź i się naucz...
 Ziemianin| Opublikowano 01.09.2023 21:59:03 |
Jeśli tak,Framework .NETmożna się odwoływaćSystem.Memory.dllUżyj ReadOnlySpan, AsSpan
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com