Die Geschwindigkeit von .NET beim numerischen Rechnen

Nach meiner Erfahrung ist .NET zwei- bis dreimal langsamer als nativer Code. (Ich habe L-BFGS für die multivariate Optimierung implementiert).

Ich habe die Anzeigen auf Stackoverflow zurückverfolgthttp://www.centerspace.net/products/

Die Geschwindigkeit ist wirklich erstaunlich, die Geschwindigkeit kommt dem nativen Code sehr nahe. Wie können sie das machen? Sie sagten, dass:

Frage: Ist NMath "reines" .NET?

Antwort: Die Antwort hängt etwas von Ihrer Definition von "pure .NET" ab. NMath ist in C # sowie einer kleinen verwalteten C ++ - Ebene geschrieben. Um die Leistung grundlegender linearer Algebraoperationen zu verbessern, stützt sich NMath jedoch auf die native Intel Math Kernel Library (im Lieferumfang von NMath enthalten). Es gibt jedoch keine COM-Komponenten, keine DLLs - nur .NET-Assemblys. Außerdem wird der gesamte in der Managed C ++ - Schicht zugewiesene und vom systemeigenen Code verwendete Speicher aus dem verwalteten Heap zugewiesen.

Kann mir jemand mehr erklären?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage