Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 3255|Antwort: 2

[Quelle] .NET/C# Hochleistung führt mehrere Dateien zu einer einzigen Datei zusammen

[Link kopieren]
Veröffentlicht am 14.2.2024, 12:04:26 | | | |
Anforderungen: Wenn große Dateien in Chunks hochgeladen werden, muss das Backend verschiedene Blöcke der Reihe nach zu einer einzigen Datei zusammenführen oder beim Schneiden der Archivdatei die Schnittdateien in die Quelldatei einfügen.

Linux verwendet Split-Datei-Schnitt-Splits
https://www.itsvse.com/thread-10716-1-1.html

Bereiten Sie zunächst zwei 100M-Dateien zum Testen vor, mit folgendem Befehl:

Windows erstellt eine Datei der angegebenen Größe
https://www.itsvse.com/thread-10732-1-1.html

Der Code lautet wie folgt:


Zwei verschiedene Zusammenführungsszenarien wurden getestet. Wie unten gezeigt:



Beginnen Sie mit dem VS 2022 Debug -> Profiler -> haken Sie ".NET Object Allocation Trace" an:



MERGE1 Gesamtgröße ist: 16.778.034, MERGE2 Gesamtgröße: 164.270,Die Gesamtzuweisung zeigt, dass Merge1 102-mal größer ist als Merge2, und je größer sie ist, desto schlechter ist die Performance

Verwenden Sie PerfView, um CPU-Stacks und GC Heap Net Mem Stacks-Analysen separat anzuzeigen, wie in der folgenden Abbildung gezeigt:



Bemerkung:Inc% – Inklusive Kosten werden als Prozentsatz der Gesamtkosten für alle Proben angegeben(100 % für ROOT-Knoten). Es kann danach sortiert werden.





Vorhergehend:Windows erstellt eine Datei der angegebenen Größe
Nächster:Einführung und Unterschied zwischen JIT- und AOT-Kompilierung in .NET
 Vermieter| Veröffentlicht am 14.02.2024, 12:09:30 |
Testen Sie mit dem VS 2022 Debug -> Performance Profiler -> "Speichernutzung" ankreuzen:

  • merge1 nimmt 808 MB ein, wenn es ausgeführt wird.
  • Merge2 nimmt beim Ausführen 12 MB in Anspruch




Wenn die merge2-Methode allein ausgeführt wird, startet das Programm 6 MB und nimmt während der Funktionsausführung und nach Abschluss immer 6 MB ein.
 Vermieter| Veröffentlicht am 1.1.2025, 10:20:06 |
Optimieren Sie den Schreibstil

Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com