
Zitat von
DJ-SPM:
Nun lese ich überall, dass Variant "deutlich" langsamer sein soll. Ich würde jetzt gerne von euch wissen, wie "deutlich langsamer" das Lesen und Speichern sein wird? 1-2 Sekunden/ms etc.?
Probiere es doch einfach mal aus.
Die reine Zuweisung eines Variants ist um den Faktor 5 (bei Double) bzw. 10 (bei Integer) langsamer, da bei jedem Zugriff auf den Variant zunächst der Typ geprüft und dann per case die konkrete Zuweisung bzw. Rechnung durchgeführt wird.
1 Mio Zugriffe dauern bei mir (Integer) 0.0011s, Double (0.0026) und bei einem Variant 0.0119s.
Ich halte in den weitaus meisten Fällen jedoch andere Teile im Code für die wahren Performancebremsen. Die Vorteile von Variants überwiegen die paar Promille Performanceeinbuße, die sich in der Realität ergeben.
Wenn Du natürlich intensive Berechnungen bzw. Iterationen durchführst, solltest Du auf Variants verzichten und native Datentypen verwenden.