Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 3255|Svar: 2

[Källa] .NET/C# Hög prestanda slår ihop flera filer till en enda fil

[Kopiera länk]
Publicerad den 2024-2-14 12:04:26 | | | |
Krav: När stora filer används för att laddas upp i bitar måste backend slå ihop olika block till en enda fil i ordning, eller när arkivfilen klipps ut, slås de klippta filerna in i källfilen.

Linux använder split-filklippning
https://www.itsvse.com/thread-10716-1-1.html

Förbered först två 100M-filer för testning, med följande kommando:

Windows skapar en fil av angiven storlek
https://www.itsvse.com/thread-10732-1-1.html

Koden är följande:


Två olika sammanslagningsscenarier testades. Som visas nedan:



Börja testa med VS 2022-felsökning -> Profiler -> kryssa i ".NET Object Allocation Trace":



Merge1 Total storlek är: 16 778 034, Merge2 Total storlek är: 164 270,Den totala tilldelningen visar att merge1 är 102 gånger större än merge2, och ju större den är, desto sämre prestanda

Använd PerfView för att visa CPU-stackar och GC Heap Net Mem Stacks-analyser separat, som visas i följande figur:



Anmärkning:Inc% - Inkluderad kostnad uttrycks som en procentandel av den totala kostnaden för alla prover(100% för ROOT-noder). Det kan sorteras efter det.





Föregående:Windows skapar en fil av angiven storlek
Nästa:Introduktion och skillnad mellan JIT- och AOT-kompilering i .NET
 Hyresvärd| Publicerad den 2024-2-14 12:09:30 |
Testa med VS 2022 Debug -> Performance Profiler -> kryssa i "Minnesanvändning":

  • merge1 tar upp 808MB när den körs
  • Merge2 tar upp 12MB när den körs




Om merge2-metoden körs ensam startar programmet 6 MB och tar alltid upp 6 MB under funktionsexekveringen och efter slutförande.
 Hyresvärd| Publicerad den 2025-1-1 10:20:06 |
Optimera skrivstilen

Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com