Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 3255|Risposta: 2

[Fonte] .NET/C# Ad alte prestazioni unisce più file in un unico file

[Copiato link]
Pubblicato il 14-2-2024 12:04:26 | | | |
Requisiti: Quando si usano file grandi per caricare in blocchi, il backend deve unire i diversi blocchi in un unico file in ordine, oppure, quando si taglia il file archivio, unire i file tagliati nel file sorgente.

Linux utilizza split split cutting file
https://www.itsvse.com/thread-10716-1-1.html

Per prima cosa, preparare due file da 100M per il test, con il seguente comando:

Windows crea un file della dimensione specificata
https://www.itsvse.com/thread-10732-1-1.html

Il codice è il seguente:


Sono stati testati due diversi scenari di fusione. Come mostrato di seguito:



Inizia i test con il debug VS 2022 -> Profiler -> seleziona ".NET Object Allocation Trace":



La dimensione totale della fusione1 è: 16.778.034, la dimensione totale della fusione2 è: 164.270,L'allocazione totale mostra che merge1 è 102 volte più grande di merge2, e più grande è la performance, peggiore è la performance

Usa PerfView per visualizzare separatamente gli stack CPU e l'analisi degli stack GC Heap Net Mem Stacks, come mostrato nella figura seguente:



Osservazione:Inc% - Il costo inclusivo è espresso come percentuale del costo totale per tutti i campioni(100% per i nodi ROOT). Si può risolvere in base a questo.





Precedente:Windows crea un file della dimensione specificata
Prossimo:Introduzione e differenza tra compilazione JIT e AOT in .NET
 Padrone di casa| Pubblicato il 14-2-2024 12:09:30 |
Prova con VS 2022 Debug -> Performance Profiler -> spunta "Memory Usage":

  • merge1 occupa 808MB quando viene eseguito
  • merge2 occupa 12MB quando viene eseguito




Se il metodo merge2 viene eseguito da solo, il programma avvia 6MB e occupa sempre 6MB durante l'esecuzione della funzione e dopo il completamento.
 Padrone di casa| Pubblicato il 2025-1-1 10:20:06 |
Ottimizza lo stile di scrittura

Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com