Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 3255|Válasz: 2

[Forrás] .NET/C# A nagy teljesítmény több fájlt egyesít egyetlen fájlba

[Linket másol]
Közzétéve: 2024-2-14 12:04:26 | | | |
Követelmények: Ha nagy fájlokat használnak darabokban történő feltöltésre, a háttérrendszernek különböző blokkokat kell egyetlen fájlba egyesítenie, vagy az archív fájl vágásakor a kivágott fájlokat a forrásfájlba kell egyesítenie.

A Linux split fájlvágó spliteket használ
https://www.itsvse.com/thread-10716-1-1.html

Először készítsünk elő két 100M fájlt tesztelésre a következő parancssal:

A Windows létrehoz egy megadott méretű fájlt
https://www.itsvse.com/thread-10732-1-1.html

A kódex a következő:


Két különböző egyesülési forgatókönyvet teszteltek. Ahogy az alábbiakban látható:



Kezdje el a tesztelést VS 2022 debug -> Profiler -> pipál ".NET Object Allocation Trace" gombot:



Merge1 összesített mérete: 16 778 034, Merge2 összesített mérete: 164 270,Az összallokáció azt mutatja, hogy az egyesítés1 102-szer nagyobb, mint az egyesülés2, és minél nagyobb, annál rosszabb a teljesítmény

Használja a PerfView-t a CPU Stackek és a GC Heap Net Mem Stacks elemzésének külön-külön megtekintéséhez, ahogy az alábbi ábrán látható:



Megjegyzés:Inc% – Az instantív költség az összes mintavétel teljes költségének százalékában van kifejezve(100% ROOT csomópontoknál). Szerinte rendezhető.





Előző:A Windows létrehoz egy megadott méretű fájlt
Következő:Bevezetés és különbség a JIT és az AOT fordítás között .NET formátumban
 Háziúr| Közzétéve: 2024-2-14 12:09:30 |
Teszteld VS 2022 Debug -> Performance Profiler -> jelöld be a "Memóriahasználat" gombot:

  • a merge1 808MB-ot foglal el, amikor lefuttatják
  • a merge2 12MB-ot foglal el végrehajtáskor




Ha a merge2 metódust egyedül hajtják végre, a program 6MB-ot indít, és mindig 6MB-ot foglal el a függvény végrehajtása közben és a befejezés után.
 Háziúr| Közzétéve: 2025-1-1 10:20:06 |
Optimalizáld az írási stílust

Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com