Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 3409|Odpověď: 2

[Zdroj] .NET/C# Vysoce výkonný spoj více souborů do jednoho souboru

[Kopírovat odkaz]
Zveřejněno 14.02.2024 12:04:26 | | | |
Požadavky: Při použití velkých souborů k nahrávání po částech musí backend sloučit různé bloky do jednoho souboru v pořadí, nebo při řezání archivního souboru sloučit vystřižené soubory do zdrojového souboru.

Linux používá rozdělení na rozdělení souborů
https://www.itsvse.com/thread-10716-1-1.html

Nejprve připravte dva soubory o velikosti 100M k testování s následujícím příkazem:

Windows vytvoří soubor specifikované velikosti
https://www.itsvse.com/thread-10732-1-1.html

Kód je následující:


Byly testovány dva různé scénáře sloučení. Jak je uvedeno níže:



Začněte testovat s VS 2022 debug -> Profiler -> zaškrtněte ".NET Object Allocation Trace":



Celková velikost merge1 je: 16 778 034, merge2 celková velikost je: 164 270,Celková alokace ukazuje, že merge1 je 102krát větší než merge2, a čím větší, tím horší je výkon

Použijte PerfView k samostatnému zobrazení analýzy CPU stacků a GC Heap Net Mem stacků, jak je znázorněno na následujícím obrázku:



Poznámka:Ink% – Zahrnuté náklady jsou vyjádřeny jako procento z celkových nákladů na všechny vzorky(100 % pro kořenové uzly). Dá se to podle něj seřadit.





Předchozí:Windows vytvoří soubor specifikované velikosti
Další:Úvod a rozdíl mezi kompilací JIT a AOT v .NET
 Pronajímatel| Zveřejněno 14.02.2024 12:09:30 |
Testujte s VS 2022 Debug -> Performance Profiler -> zaškrtněte "Memory Usage":

  • merge1 zabírá při spuštění 808 MB
  • merge2 zabírá při spuštění 12 MB




Pokud je metoda merge2 vykonána samostatně, program se spustí na 6MB a vždy zabere 6MB během vykonávání funkce a po jejím dokončení.
 Pronajímatel| Zveřejněno 01.01.2025 10:20:06 |
Optimalizujte styl psaní

Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com