Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 3255|Odgovoriti: 2

[Vir] .NET/C# Visokozmogljiva združi več datotek v eno datoteko

[Kopiraj povezavo]
Objavljeno 2024-2-14 ob 12:04:26 | | | |
Zahteve: Pri nalaganju velikih datotek v kosih mora backend združiti različne bloke v eno datoteko po vrsti, ali pa pri rezanju arhivske datoteke združiti izrezane datoteke v izvorno datoteko.

Linux uporablja razdeljeno rezanje datotek
https://www.itsvse.com/thread-10716-1-1.html

Najprej pripravite dve 100M datoteki za testiranje z naslednjim ukazom:

Windows ustvari datoteko določene velikosti
https://www.itsvse.com/thread-10732-1-1.html

Koda je naslednja:


Preizkušena sta bila dva različna scenarija združitve. Kot je prikazano spodaj:



Začnite testirati z VS 2022 debug -> Profiler -> kljukite ".NET Object Allocation Trace":



Skupna velikost merge1 je: 16.778.034, merge2 skupna velikost je: 164.270,Skupna dodelitev kaže, da je merge1 102-krat večji od merge2, in večja kot je, slabša je zmogljivost

Uporabite PerfView za ločen ogled CPU skladov in analize GC Heap Net Mem skladov, kot je prikazano na naslednji sliki:



Pripombo:In% - Vključen strošek je izražen kot odstotek skupnih stroškov za vse vzorce(100 % za ROOT vozlišča). Lahko se razvrsti po njej.





Prejšnji:Windows ustvari datoteko določene velikosti
Naslednji:Uvod in razlika med JIT in AOT prevajanjem v .NET
 Najemodajalec| Objavljeno 2024-2-14 ob 12:09:30 |
Preizkusite z VS 2022 Debug -> Performance Profiler -> kljukico "Uporaba pomnilnika":

  • merge1 zavzame 808 MB ob izvedbi
  • merge2 zavzame 12MB ob izvedbi




Če se metoda merge2 izvaja samostojno, program zažene 6 MB in vedno zavzame 6 MB med izvajanjem funkcije in po zaključku.
 Najemodajalec| Objavljeno 1. 1. 2025 ob 10:20:06 |
Optimizirajte slog pisanja

Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com