QScriptEngine: which expression is faster ?

  • Hi Everybody,

    I'm making a scriptable application, and I'm wondering which kind of expression is faster:



    QScriptValue object1 = engine.property("object1");

    Is the second method faster (I 'save' object1 and I'm hoping that property() does not invoke the interpreter). ? I'm I right ?


  • Hi. Why don't you just measure and see what's faster?

  • Possible answer: it's the same.
    Either property() invokes the interpreter or object1 is "changed" everytime the underlying script changes it.

    Because if I do:

    // let's assume object1 is an array
    QScriptValue object1= engine.property("object1");

    Then I use Javascript to alter the contents of object1 (for example using evaluate())

    and I do:

    qDebug() << object1.toVariant();

    The object1 will contains the latest changes, even if it has been changes outside C++.

    This makes me believe that QScriptValue objects are tied to the underlying JS objects. Any change in the JS will immediately be seen in C++.

Log in to reply

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.