Warum packt Ihr da überall so ein tolles fixed-Statements rein? Ich glaube kaum, dass das sonderlich viel bringt. Im Gegenteil: Die CLR kann den Speicher nicht optimieren, weil die Daten da irgendwo angepinnt rumhängen.
Warum ein Struct? Das wird ein einziges mal instanziiert, da hat man mit einem Struct wahrscheinlich einen Geschwindigkeitsvorteil von ca. 0%.
Übrigens:
Müsste man trotzdem mal testen.
Edit:
Mal ganz davon abgesehen, dass der Unsafe-Kram oft auch die Portabilität auf andere Plattformen/Programmiersprachen extrem einschränkt. Aber darum geht's hier ja nicht.
Warum ein Struct? Das wird ein einziges mal instanziiert, da hat man mit einem Struct wahrscheinlich einen Geschwindigkeitsvorteil von ca. 0%.
Übrigens:
Einfach für alles Pointer verwenden, weil "is ja schnell und so" ist also nicht der Beste weg. Der JIT/NGen/GC optimiert da oft einfach besser.dotnetperls schrieb:
Performance optimization
The fixed statement does generate certain intermediate language instructions when used, which impact performance. Often, for this reason, unsafe code and pointer manipulation is slower than managed C# code.
So:
This indicates that, in the .NET Framework, it is typically better to use exclusively managed code.
Also:
Older languages that do not rely on the .NET Framework will benefit more from pointer manipulation optimizations.
Müsste man trotzdem mal testen.
Edit:
Mal ganz davon abgesehen, dass der Unsafe-Kram oft auch die Portabilität auf andere Plattformen/Programmiersprachen extrem einschränkt. Aber darum geht's hier ja nicht.
Von meinem iPhone gesendet
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „nikeee13“ ()