Optimierung, gehts noch was?



  • fubar schrieb:

    Oder vielleicht so:
    ...fabs...

    fabs sieht für mich sehr schnell aus.

    vielleicht noch die ifs wegmachen, indem man gegen eine bereits existierende idetityMatrix elementweise vergleicht.


  • Mod

    wenn ich das richtig sehe, kommt es auf die genaue grösse des erlaubten fehlers nicht an. möglichweise ist daher so etwas auch vertretbar:

    bool isIdentity (void)
        {
            return
                fabs((*this)(0,0)-1.0f)+fabs((*this)(0,1))+fabs((*this)(0,2))+fabs((*this)(0,3))+
                fabs((*this)(1,0))+fabs((*this)(1,1)-1.0f)+fabs((*this)(1,2))+fabs((*this)(1,3))+
                fabs((*this)(2,0))+fabs((*this)(2,1))+fabs((*this)(2,2)-1.0f)+fabs((*this)(2,3))+
                fabs((*this)(3,0))+fabs((*this)(3,1))+fabs((*this)(3,2))+fabs((*this)(3,3)-1.0f)<0.000001f;
        }
    

    vektorisierung ist nat. auch denkbar, wenn der () operator das erlaubt.



  • Ponto schrieb:

    Wahrscheinlich ist es sinnlos in dem jetzigen Stadium schon zu optimieren.

    Toll nachgeplappert... Woher willst du wissen in welchem Stadium sich sein Code befindet?



  • MaSTaH schrieb:

    Ponto schrieb:

    Wahrscheinlich ist es sinnlos in dem jetzigen Stadium schon zu optimieren.

    Toll nachgeplappert... Woher willst du wissen in welchem Stadium sich sein Code befindet?

    Deshalb hab ich "wahrscheinlich" geschrieben. Es ist meiner Meinung nach wahrscheinlicher, dass es sinnlos ist zu optimieren, als andersherum.



  • Du hast dich dabei aber auf das Stadium der Enwicklung bezogen obwohl du selbiges offenbar nicht kennst. Wahrscheinlich ist auch, dass jemand wirklich nachgemessen hat, dass dieser Code Teil eines Bottlenecks ist und eine Hilfe bei der Optimierung sucht. Zumindest sollte man diese Möglichkeit nicht von vorne herein ausschließen.



  • Hallo,

    was bedeutet das denn bitte?

    { if (fabs((*this)(i,j))... // *this ?
    

    So eine Schreibweise hab ich noch nie gesehen. Kann mir das wer erklären?



  • Würde dir

    fabs(this->operator()(i, j))
    

    besser gefallen?



  • Noch nen kleinen Tipp der Code wird nicht langsamer wenn man whitespaces benutzt :p


  • Mod

    SirLant schrieb:

    Noch nen kleinen Tipp der Code wird nicht langsamer wenn man whitespaces benutzt :p

    wenn du dich zu tode scrollen willst... 😉
    das edit fenster hier ist schon winzig genug. du hast nat. völlig recht.



  • SirLant schrieb:

    Noch nen kleinen Tipp der Code wird nicht langsamer wenn man whitespaces benutzt :p

    Doch, wenn du den whitespace-Operator überladen hast u.U. schon 🤡 .


Anmelden zum Antworten