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

Widok: 3487|Odpowiedź: 3

[Źródło] .NET 6 testuje algorytmy Gzip i Bobrli

[Skopiuj link]
Opublikowano 17.09.2023 10:45:34 | | | |
Wymagania: HTTP teraz dodaje algorytm kompresji Brotli do testowania algorytmów Gzip i Brotli. W zależności od projektu, w artykule testowana jest tylko prędkość dekompresji.

Brumli ma12 poziomów kompresji, od 0 do 11, gdzie 0 zapewnia najszybszą prędkość kompresji, ale najniższy stopień kompresji, natomiast 11 zapewnia najwyższy współczynnik kompresji, ale wymaga więcej zasobów obliczeniowych i czasu. Kiedy po raz pierwszy wdrożyliśmy Brotli 5 lat temu, ustaliliśmy, że kompresja czteropoziomowa zapewnia równowagę między oszczędnością bajtu a czasem kompresji bez kompromisu w wydajności. Im wyższy poziom kompresji, tym mniejszy rozmiar, ale sprzedaje więcej zasobów CPU i pamięci.

ASP.NET algorytm Brotli jest już wbudowany w rdzeń i nie wymaga odwoływania się do pakietów firm trzecich. (W tym artykule odniesiemy do pakietu firm trzecich: BrotliSharpLib oraz wbudowanego dla porównania), konfiguracja wygląda następująco:


ASP.NET Przepływ wywołań kompresji w Core Brotli: ResponseCompressionServicesExtensions -> AddResponseCompression -> ResponseCompressionProvider -> BrotliCompressionProvider -> BrotliStream.



Kod enumeracji poziomu kompresji wygląda następująco:

Stwórz nowy projekt konsoli .NET 6 z następującym kodem benchmarkowym:


Wyniki testów są następujące:



Przetestowałem plik 503kb i po kompresji różnica była niewielka, wszystko około 400kb, i okazało się, że szybkość dekompresji w Gzip nadal była szybsza niż w Brotli, co powinno być takie samorozmiar pliku, . Wersja NET, poziom kompresji, zawartość plików itdKrótko mówiąc, najlepiej wybrać scenę, która do Ciebie pasuje.

Jeśli napotkasz taki błąd:

Środowisko
  Podsumowanie -> Wykryto kod wyjścia błędu z jednego z benchmarków. Może być spowodowana przez następujące oprogramowanie antywirusowe:
        - 360 SafeGuard (C:\Program Files (x86)\360\360Safe\safemon\360tray.exe)
        - Windows Defender (windowsdefender://)
Użyj InProcessEmitToolchain lub InProcessNoEmitToolchain, aby uniknąć tworzenia nowych procesów.
rozwiązanie

lub
(Koniec)





Poprzedni:[Skręć]. NET wykorzystuje Brotli do kompresji i dekompresji danych
Następny:EF6 Wymagane pozwala na puste ciągi znaków, ale nie na zerowości
 Ziemianin| Opublikowano 17.09.2023 10:46:46 |

asp.net core 3.1 umożliwia algorytm kompresji Brotli na stronie internetowej
https://www.itsvse.com/thread-9532-1-1.html

.net/c# Kompresja danych GZipStream
https://www.itsvse.com/thread-4240-1-1.html




 Ziemianin| Opublikowano 17.09.2023 10:48:01 |
[Skręć]. NET wykorzystuje Brotli do kompresji i dekompresji danych
https://www.itsvse.com/thread-10662-1-1.html
 Ziemianin| Opublikowano 07.01.2025 10:18:37 |
【zip】. NET/C# wykorzystuje wbudowaną kompresję System.IO.Compression do kompresji i dekompresji
https://www.itsvse.com/thread-10912-1-1.html
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