Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 3255|Odpoveď: 2

[Zdroj] .NET/C# Vysoký výkon spája viacero súborov do jedného súboru

[Kopírovať odkaz]
Zverejnené 14. februára 2024 o 12:04:26 | | | |
Požiadavky: Pri používaní veľkých súborov na nahrávanie v blokoch musí backend zlúčiť rôzne bloky do jedného súboru v poradí, alebo pri rezaní archívneho súboru zlúčiť vystrihnuté súbory do zdrojového súboru.

Linux používa rozdelené rozdelenie súborov
https://www.itsvse.com/thread-10716-1-1.html

Najprv pripravte dva 100M súbory na testovanie s nasledujúcim príkazom:

Windows vytvorí súbor špecifikovanej veľkosti
https://www.itsvse.com/thread-10732-1-1.html

Kód je nasledovný:


Testovali sa dva rôzne scenáre zlúčenia. Ako je uvedené nižšie:



Začnite testovať s VS 2022 debug -> Profiler -> zaškrtnite ".NET Object Allocation Trace":



Celková veľkosť merge1 je: 16 778 034, merge2 celková veľkosť je: 164 270,Celková alokácia ukazuje, že merge1 je 102-krát väčšia ako merge2, a čím väčšia je, tým horší je výkon

Použite PerfView na samostatné zobrazenie analýzy CPU stackov a GC Heap Net Mem stackov, ako je znázornené na nasledujúcom obrázku:



Poznámka:Inc% - Zahrnuté náklady sa vyjadrujú ako percento z celkových nákladov na všetky vzorky(100 % pre ROOT uzly). Dá sa to triediť podľa neho.





Predchádzajúci:Windows vytvorí súbor špecifikovanej veľkosti
Budúci:Úvod a rozdiel medzi kompiláciou JIT a AOT v .NET
 Prenajímateľ| Zverejnené 2024-2-14 o 12:09:30 |
Otestujte s VS 2022 Debug -> Performance Profiler -> zaškrtnite "Využitie pamäte":

  • merge1 zaberá pri spustení 808 MB
  • merge2 zaberá pri spustení 12MB




Ak sa metóda merge2 vykoná samostatne, program sa spustí na 6 MB a vždy zaberá 6 MB počas vykonávania funkcie a po jej dokončení.
 Prenajímateľ| Zverejnené 1.1.2025 10:20:06 |
Optimalizujte štýl písania

Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com