Leistungsunterschied unter OSX und Windows 10



  • Ich habe einen Code, der Eigen C ++ für die Geometrieverarbeitung verwendet, die unter MacOS und Windows 10 kompiliert wird. Er verwendet auch Intels Threading Building Blocks (TBB), um die Berechnungen zu beschleunigen. Allerdings habe ich festgestellt, dass unter Windows 10 mit großen Objekten die Rechenzeit mehr als 20-mal langsamer ist als unter MacOS.

    Ich habe einige Profilerstellungen durchgeführt und festgestellt, dass der Hauptengpass in der Größenänderung der Eigenmatrizen liegt.

    Es scheint, dass die dynamische Speicherzuweisung unter Windows 10 gegenüber MacOS viel langsamer ist.

    Kann mir jemand einen Rat geben, da ich glaube, dass dies nicht der wahre Engpass ist, mit dem ich konfrontiert werden sollte, und meine Profilerstellungstools scheinen auf die Speicherzuweisung als Problem hinzuweisen.



  • Du hast dem Compiler aber schon ein Optimizerflag mitgegeben?



    1. Wie @manni66 schon angedeutet hat: auf jeden Fall Release bauen und nicht Debug.
    2. Auch wenn du ne Release gebaut hast, zum Performance Messen auf keinen Fall in Visual Studio mit "start debug" starten sondern entweder über "start without debugging" oder ohne Visual Studio einfach direkt starten.

Log in to reply