Ich benutze Ants Performance Profiler 8.5 und als ich die Zeit sah, die jede Zeile meines Codes läuft, habe ich bemerkt, dass die Klammern auch Zeit brauchen.
Hier ist ein Bild, auf dem links neben den geschweiften Klammern die Zeit in Millisekunden angezeigt wird:
Manchmal bekomme ich mehr Zeit, wie 5 ms ...
Warum ist das? Ist es die Müllsammlung?
Wenn eine Methode definiert ist, werden dem Compiler die Parameter, die für die Methode gelten, als maxstack
. Dies deutet auf die Menge an Speicher hin, die für die Methode zu reservieren ist.
Dies könnte die Quelle der zusätzlichen Zeitspeicherzuweisung durch die CLR sein.
Das Hinzufügen weiterer geschweifter Klammern fügt nicht wirklich weitere Parameter zu maxstack
hinzu. Es umfasst die gesamte Methode. Scope ist eher eine logische Gruppierung als die CLR, die den Speicher freigibt.
Mit Ihrer Frage zu GC glaube ich nicht, dass dies die Ursache des Problems ist. GC wird bei Bedarf von einem separaten Thread ausgeführt. Es könnte der GC sein, aber ich bezweifle es ernsthaft in Ihrem Fall.
Tags und Links c# profiling performance ants