Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 3255|Atbildi: 2

[Avots] .NET/C# Augsta veiktspēja apvieno vairākus failus vienā failā

[Kopēt saiti]
Publicēts 2024-2-14 12:04:26 | | | |
Prasības: Izmantojot lielus failus, lai augšupielādētu gabalos, aizmugures sistēmai ir jāapvieno dažādi bloki vienā failā secībā vai, izgriežot arhīva failu, sapludiniet izgrieztos failus avota failā.

Linux izmanto sadalītu failu izgriešanas sadalījumu
https://www.itsvse.com/thread-10716-1-1.html

Vispirms sagatavojiet divus 100M failus testēšanai ar šādu komandu:

Sistēma Windows izveido norādītā lieluma failu
https://www.itsvse.com/thread-10732-1-1.html

Kods ir šāds:


Tika pārbaudīti divi dažādi sapludināšanas scenāriji. Kā parādīts zemāk:



Sāciet testēšanu ar VS 2022 atkļūdošanu -> Profiler -> atzīmējiet ".NET Object Allocation Trace":



merge1 kopējais lielums ir: 16,778,034, merge2 kopējais lielums ir: 164,270,Kopējais sadalījums rāda, ka sapludināšana1 ir 102 reizes lielāka nekā sapludināšana2, un jo lielāka tā ir, jo sliktāka veiktspēja

Izmantojiet PerfView, lai atsevišķi skatītu CPU steku un GC Heap Net Mem Stacks analīzi, kā parādīts nākamajā attēlā:



Piezīme:Inc% - Iekļautās izmaksas tiek izteiktas procentos no visu paraugu kopējām izmaksām(100% ROOT mezgliem). To var sakārtot pēc tā.





Iepriekšējo:Sistēma Windows izveido norādītā lieluma failu
Nākamo:Ievads un atšķirība starp JIT un AOT kompilāciju .NET
 Saimnieks| Publicēts 2024-2-14 12:09:30 |
Pārbaudiet ar VS 2022 Debug -> Performance Profiler -> atzīmējiet "Atmiņas lietojums":

  • merge1 izpildes laikā aizņem 808 MB
  • merge2 izpildes laikā aizņem 12 MB




Ja merge2 metode tiek izpildīta atsevišķi, programma startē 6 MB un vienmēr aizņem 6 MB funkcijas izpildes laikā un pēc pabeigšanas.
 Saimnieks| Publicēts 2025-1-1 10:20:06 |
Rakstīšanas stila optimizēšana

Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com