Meziantou 11.04.2022, 08:34 Uhr

Versiegelte Klassen arbeiten flotter

Standardmäßig sind .NET-Klassen nicht versiegelt. Das bedeutet, dass andere Klasse von ihnen erben können. Schneller arbeiten allerdings Objekte, die von versiegelten Klassen stammen.
(Quelle: meziantou.net)
Entwickler und Blog-Autor Gérald Barré ist der Meinung, dass .NET-Klassen eine falsche Grundeinstellung haben: Sie sind nicht versiegelt. Er sagt jede Klasse, die nicht dafür ausgelegt ist, dass eine andere von ihr erben kann, sollte versiegelt sein. Falls es nötig werden sollte, kann man den sealed-Modifikator später immer noch entfernen. Der Grund: Wenn eine Klasse versiegelt ist, kann der JIT-Compiler nämlich Optimierungen vornehmen und die Leistung der Anwendung verbessern. Welche Leistungsvorteile das sind beschreibt Gérald Barré in diesem Blogbeitrag. Auch einen kleinen Benchmark-Test hat er dafür erarbeitet und laufen lassen.
Für .NET 7 ist ein neuer Analyzer geplant, der Klassen erkennt, die versiegelt werden können. Bereits verfügbar ist Barrés eigener Analyzer, der unter anderem auch darauf hinweist, welche Klassen versiegelt werden können. Damit kann man die zusätzliche Performance ganz einfach für seine Anwendungen freischalten.


Das könnte Sie auch interessieren