Was ist schneller. Property, Funktion Variable



  • Hallo

    Habe eine Funktion bei der es möglich ist ihre Ausführungszeit zu berechnen. Nun möchte ich aber die Zeitmessung über ein Flag steuern. Nun frage ich dieses Flag von einer anderen Klasse ab. Ist es hier nun schneller das Flag über ein Property, über eine Funktion oder auch direkt die Variable abfragen. Muss halt so schnell wie möglich sein, da die Funktion zeitkritisch ist.

    Oder ist das alles gleich schnell.



  • Code? Ich glaube kaum, dass du da einen Zeitunterschied merken wirst. Methoden sind natürlich vorzuziehen. Wenns ein einfacher getter ist, wird das eh geinlined.

    Properties in C++ ???



  • System::Diagnostics::Stopwatch



  • Nimm ne Variable.



  • System::Diagnostics::Stopwatch?

    Was ist das



  • Asserti schrieb:

    System::Diagnostics::Stopwatch?

    Was ist das

    Ein bunter Hund mit Besenstiel im Mund.

    ...

    Oder vielleicht auch eine .NET Framework Klasse? Weil du vermutlich C++/CLI programmierst und nicht C++? Weil es in C++ nämlich keine Properties gibt?



  • Ich programmier C++ und mein Propertie sieht so aus:

    __declspec (property (get = GetTiming, put = SetTiming)) BOOL Timing;
    


  • Immer diese MSVC-spezifischen Extensions.
    Ich würde dir raten hübsch die Finger von __declspec(property) zu lassen.



  • Ich würde dir raten hübsch die Finger von __declspec(property) zu lassen

    gibts dafür auch Gründe?


  • Mod

    hustbaer schrieb:

    Immer diese MSVC-spezifischen Extensions.
    Ich würde dir raten hübsch die Finger von __declspec(property) zu lassen.

    Der Grund würde mich auch interessieren.
    Unsere Firma etwicklet zu 100% für Zielplatform Windows. Wir setzen seit mehr als 22 Jahren MS-C/C++ Compiler ein...
    Warum sollte ich solche Features nicht benutzen?

    Etwa Abhängigkeit? 🙂

    BTW: Ichmag den Syntax nicht, deswegen benutzte ich dieses Compiler Feature nicht, aber andere geniale wie z.B. __super!



  • Martin Richter schrieb:

    hustbaer schrieb:

    Immer diese MSVC-spezifischen Extensions.
    Ich würde dir raten hübsch die Finger von __declspec(property) zu lassen.

    Der Grund würde mich auch interessieren.
    Unsere Firma etwicklet zu 100% für Zielplatform Windows. Wir setzen seit mehr als 22 Jahren MS-C/C++ Compiler ein...
    Warum sollte ich solche Features nicht benutzen?

    Etwa Abhängigkeit? 🙂

    Vendor Lock-In, ja. Wenn das kein Thema ist -> soweit OK.

    Und nochwas: der OP macht den Eindruck noch in der Lernphase zu sein. Und in der Lernphase kann man IMO nicht viel dümmeres machen, als allzu freizügig diverse non-Standard Dinge zu verwenden.
    Gewöhnt man sich das erstmal an, ist es schwer es sich wieder abzugewöhnen. Bzw. man lernt eben nicht C++ sondern MSVC-C++.

    Ist zwar vom Ausmass her nicht vergleichbar, aber für mich prinzipiell dasselbe, wenn jemand C++/CLI verwendet, und glaubt dabei C++ zu lernen.



  • Und nochwas: der OP macht den Eindruck noch in der Lernphase zu sein

    Woran erkennst du das?


Anmelden zum Antworten