Trolltech is presenting the fourth annual Developer Days events[1] in the US
and Germany. We invite free software developers to join without admittance
fee.
http://trolltech.com/company/newsroom/events/allevents/devdays2007
The events are taking place in Redwood City, California (October 3 & 4), and
Munich, Germany (October 16th & 17). If you are currently contributing to an
open source project, and would like to apply for free registration to the
event, please send us a short mail at devdays2007@trolltech.com, listing the
following:
Your Name:
Name of the open source project you actively contributing to:
URL for more project information:
We will review your entry and respond with registration information if
you qualify. We hope to see you at Developer Days!
QSA 1.2.0 and 1.1.3 were both released on friday, so I sat down and did some informal benchmarking (note the word informal, which basically indicates that the computer was playing music in the background while the tests were running.)
The benchmarks consisted of a set of generated scripts, designed to test parsing speed, as well as the execution speed, of certain basic language features (such as function calls, loops, dynamically declaring properties, comparisons, conditional blocks, dynamic type conversion and some arithmetic operations.) Since the generated scripts did nothing useful, I also threw in a small sqrt script to verify the speed of non-pointless code as well.
The timing is based on the high resolution performance counter in my work station, and I’ve arranged the results from longest execution time to shortest.
Parsing and executing a huge script: QSA 1.2.0 finished in 0.12 the time it took QSA 1.1.3 to finish.
Parsing and executing a big script (big := huge / 2): QSA 1.2.0 finished in 0.19 the time it took QSA 1.1.3
Just parsing the same big script: QSA 1.2.0 finished in 0.52 the time it took QSA 1.1.3 to finish.
Finding the square root of a big number: QSA 1.2.0 finished in 0.6 the time of QSA 1.1.3
The conclusion is: QSA 1.2.0 is faster.
Also, the parts of the engine that were tested are essentially identical in the two versions of QSA, except that the 1.2.0 uses the Qt 4 API rather than the Qt 3 API.
Hence, Qt 4 is faster; a port of QSA from Qt 3 to Qt 4 gave us a potential performance benefit of up to eighy-eight percent and probably more, and we didn’t have to alter almost any of the logic. Everybody needs to do that dance now.