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

Widok: 3878|Odpowiedź: 1

[Komunikacja] [Skręć]. NET 8 Nowo dodane typy o wysokiej wydajności

[Skopiuj link]
Opublikowano 07.05.2023 09:37:47 | | |
przedmowa

. Wersja Net8, w porównaniu z. Net7 bardzo się zmieniło. W tym artykule przyjrzyjmy się niektórym typom zmian wydajności, oficjalnie polecanym nowym typom mającym na celu poprawę wydajności aplikacji.

Kopertowa

1.System.Collections.Frozen

Przestrzenie nazw obejmują typy kolekcji FrozenDictionary< TKey, TValue> oraz FrozenSet. Po utworzeniu kolekcji te typy nie pozwalają na żadne zmiany kluczy i wartości. Ten wymóg umożliwia szybsze operacje odczytu (np. TryGetValue()). Te typy są szczególnie przydatne w kolekcjach zaliczanych przy pierwszym użyciu, a następnie zatrzymywania do długoterminowej służby, takich jak:

2.System.Buffers.IndexOfAnyValues

Typ ten ma być przekazywany metodzie znalezienia pierwszego dopasowania dowolnej wartości w podanej kolekcji. Na przykład String.IndexOfAny(Char[]) szuka pierwszego dopasowania dowolnego znaku w określonej tablicy w ciągu wywołanym przez ten znak. NET 8 dodaje nowe przeciążenia metod, takie jak String.IndexOfAny oraz MemoryExtensions.IndexOfAnny, które akceptują nowe instancje typów. Gdy tworzysz instancję System.Buffers.IndexOfAnyValues, wszystkie dane potrzebne do optymalizacji kolejnych wyszukiwań zostaną wtedy poprowadzone, co oznacza, że praca jest wykonywana na początku.

3.System.Text.CompositeFormat

Typy mogą być używane do optymalizacji ciągów formatu, które są nieznane w czasie kompilacji (np. łańcuchy formatów są ładowane z plików zasobów). Wymaga to trochę dodatkowego czasu na początku, np. na parsowanie strunow, ale to oszczędza pracę za każdym razem, gdy go używasz.

4.System.Buffers.IndexOfAnyValues

Typ ten ma być przekazywany metodzie znalezienia pierwszego dopasowania dowolnej wartości w podanej kolekcji. Na przykład String.IndexOfAny(Char[]) szuka pierwszego dopasowania dowolnego znaku w określonej tablicy w ciągu wywołanym przez ten znak. NET 8 dodaje nowe przeciążenia metod, takie jak String.IndexOfAny oraz MemoryExtensions.IndexOfAnny, które akceptują nowe instancje typów. Gdy tworzysz instancję System.Buffers.IndexOfAnyValues, wszystkie dane potrzebne do optymalizacji kolejnych wyszukiwań zostaną wtedy poprowadzone, co oznacza, że praca jest wykonywana na początku.

5.System.Text.CompositeFormat

Typy mogą być używane do optymalizacji ciągów formatu, które są nieznane w czasie kompilacji (np. łańcuchy formatów są ładowane z plików zasobów). Wymaga to trochę dodatkowego czasu na początku, np. na parsowanie strunow, ale to oszczędza pracę za każdym razem, gdy go używasz.

6. System.Numerics i System.Runtime.Intrinsics

Ulepszenia przestrzeni nazw System.Numerics oraz System.Runtime.Intrinsics. Vector256, Matrix3x2 i Matrix4x4 poprawiają przyspieszenie sprzętowe na .NET 8. Na przykład Vector256 wdrożył ponownie 2xVector128, gdzie to możliwe. Wnętrza sprzętu teraz adnotują za pomocą właściwości ConstExpected. Zapewnia to użytkownikom wiedzę, kiedy sprzęt podstawowy potrzebuje stałych parametrów, a gdy nadzwyczajne wartości mogą przypadkowo zaszkodzić wydajności.

Odniesienie:Logowanie do linku jest widoczne.
Oryginał:Logowanie do linku jest widoczne.





Poprzedni:VSTO (VI) anuluje lub blokuje zapis dokumentu Word
Następny:ASP.NET Core (18) Dostosowanie prostej pamięci wyjściowej OutputCache
Opublikowano 07.05.2023 15:36:17 |
Naucz się uczyć
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