Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 3409|Răspunde: 2

[Sursă] .NET/C# High Performance combină mai multe fișiere într-un singur fișier

[Copiază linkul]
Postat pe 14.02.2024 12:04:26 | | | |
Cerințe: Când se folosesc fișiere mari pentru a încărca în bucăți, backend-ul trebuie să unească diferite blocuri într-un singur fișier în ordine, sau, la tăierea fișierului de arhivă, să unească fișierele tăiate în fișierul sursă.

Linux folosește split-uri de tăiere a fișierelor împărțite
https://www.itsvse.com/thread-10716-1-1.html

Mai întâi, pregătește două fișiere de 100M pentru testare, cu următoarea comandă:

Windows creează un fișier de dimensiunea specificată
https://www.itsvse.com/thread-10732-1-1.html

Codul este următorul:


Au fost testate două scenarii diferite de fuziune. Așa cum se arată mai jos:



Începe testarea cu depanarea VS 2022 -> Profiler -> bifează ".NET Object Allocation Trace":



Dimensiunea totală a merge1 este: 16.778.034, dimensiunea totală a merge2 este: 164.270,Alocarea totală arată că merge1 este de 102 ori mai mare decât merge2, iar cu cât este mai mare, cu atât performanța este mai slabă

Folosiți PerfView pentru a vizualiza separat analizele CPU Stacks și GC Heap Net Mem Stacks, așa cum este ilustrat în figura următoare:



Remarca:Inc% - Costul inclus este exprimat ca procent din costul total pentru toate probele(100% pentru nodurile ROOT). Se poate rezolva în funcție de asta.





Precedent:Windows creează un fișier de dimensiunea specificată
Următor:Introducere și diferență între compilarea JIT și AOT în .NET
 Proprietarul| Postat pe 14.02.2024 12:09:30 |
Testează cu VS 2022 Debug -> Performance Profiler -> bifează "Memory Usage":

  • merge1 ocupă 808MB când este executat
  • merge2 ocupă 12MB când este executat




Dacă metoda merge2 este executată singură, programul pornește 6MB și ocupă întotdeauna 6MB în timpul execuției funcției și după finalizare.
 Proprietarul| Postat pe 01.01.2025 10:20:06 |
Optimizează stilul de scriere

Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com