summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks
Commit message (Collapse)AuthorAgeFilesLines
* Align .pro with qmake: s/\.sources/.files/.Miikka Heikkinen2010-10-0815-17/+17
| | | | | | | | | | Complement previous commit by aligning Qt itself to use .files consistently for DEPLOYMENT as well as INSTALLS. This excludes changes to webkit. Task-number: QTBUG-3216 Reviewed-by: axis
* Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-10-074-1/+76
|\ | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/win32/msbuild_objectmodel.cpp qmake/generators/win32/msbuild_objectmodel.h qmake/generators/win32/msvc_objectmodel.cpp qmake/generators/win32/msvc_vcxproj.cpp src/corelib/arch/qatomic_arm.h tests/auto/qglthreads/tst_qglthreads.cpp
| * Fix performance regression in QUuid::createUuid()Bradley T. Hughes2010-10-054-1/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After commit 4363d4eebce4afd2ce3b3d6da205f8037357099a, createUuid() would create a QFile, open it, read from it, and destroy it. This resulted in a pretty serious performance regression (report says around 2000 times slower, I measured 3600 times slower on my machine). This change creates one QFile per thread (since QFile is not thread safe) and leaves the file open until the thread exits (at which point QThreadStorage deletes the QFile). This approach is around 600 times faster than the current code, which is around 6 times slower than the original. Unfortunately, it is not possible to restore the original performance without reintroducing the problems that the commit mentioned above had fixed. Benchmark is included. Task-number: QTBUG-13877 Reviewed-by: thiago Reviewed-by: mgoetz
* | Merge remote branch 'origin/4.7' into master-from-4.7Rohan McGovern2010-10-0438-34/+154
|\ \ | |/ | | | | | | | | | | | | | | | | | | Conflicts: doc/src/snippets/code/doc_src_qmake-manual.qdoc src/corelib/arch/symbian/arch.pri src/declarative/graphicsitems/qdeclarativeflickable.cpp src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h tests/auto/qfontmetrics/tst_qfontmetrics.cpp
| * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integrationQt Continuous Integration System2010-09-3034-34/+34
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: (27 commits) Revert "QDeclarativeDebugService: Add bc autotest" to get changes through staging. Doc clarification. Fallback to A8 text rendering on Mac when LCD smoothing is disabled Recreate Qt 4.7 branch QtDeclarative def files on top of changes made to Qt 4.7.1 Autotest that new "import Qt 4.7"s aren't added accidentally Document "import QtQuick 1.0" change Replace "import Qt 4.7" with "import QtQuick 1.0" Add test for Qt 4.7 module Replace all occurances of "Qt 4.7" with "QtQuick 1.0" Correct property type of PathAttribute::value in the docs. Register QtQuick 1.0 module. Remove unused AST node destructors. Fix crash when trying to append a null transform to QDeclarativeItem. Documentation. Documentation fix for Flickable (mark content properties as real, not int). QDeclarativeDebugClient: Fix gcc warning QmlDebugService: Check that there is a receiver before sending messages If a type is registered under several names, share the attached property object QmlViewer: Fix typo in comment QmlViewer: Fix assert on exit (Windows) ...
| | * Replace all occurances of "Qt 4.7" with "QtQuick 1.0"Aaron Kennedy2010-09-2934-34/+34
| | | | | | | | | | | | | | | Task-number: QTBUG-13799 Reviewed-by: Martin Jones
| * | SSL: Add benchmark for QSslSocket::systemCaCertificates()Markus Goetz2010-09-284-0/+120
| |/ | | | | | | | | Task-number: QTBUG-14013 Reviewed-by: Peter Hartmann
* | QNAM: Enhance the zerocopy download buffer benchmarkMarkus Goetz2010-09-291-13/+30
| | | | | | | | | | | | | | Measure the variant too where a download buffer was requested but the read() functions are then used. Reviewed-by: TrustMe
* | QNAM: More zerocopy changesMarkus Goetz2010-09-291-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | The zerocopy download buffer is now QSharedPointer<char> instead of the QSharedPointer to QVarLengthArray<char>. This will be a bit leaner to handle by QML and QtWebKit and does not tie us to a QVLA that much. Also fix some bugs related to signal emissions and the return value of bytesAvailable(). Now the behaviour should be the same if a zerocopy buffer is used or not. Reviewed-by: Peter Hartmann Reviewed-by: Thiago Macieira
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-08-305-2/+2800
|\ \ | |/ | | | | | | | | | | Conflicts: qmake/generators/win32/msbuild_objectmodel.cpp qmake/generators/win32/msvc_vcxproj.cpp tests/auto/qnetworkreply/tst_qnetworkreply.cpp
| * Add the missing license headers to the QString benchmark dataThiago Macieira2010-08-243-1/+44
| |
| * Unroll the SSSE3 code even more to avoid the need to keep an extra variable ↵Thiago Macieira2010-08-241-35/+53
| | | | | | | | | | | | for inverting the result On 32-bit, we're out of registers already, so this variable ended up in memory
| * Don't try to compile the SSE2 and SSSE3 code with compilers that don't ↵Thiago Macieira2010-08-241-3/+11
| | | | | | | | support them (e.g. ARM)
| * Improve on the SSSE3 with alternate aligning function.Thiago Macieira2010-08-241-38/+101
| | | | | | | | Even though this function *only* does aligned loads, it's worse than the other function
| * Add the beginnings of a new SSSE3-based aligning algorithmThiago Macieira2010-08-241-1/+83
| |
| * Small fixupThiago Macieira2010-08-241-1/+1
| |
| * Update the SSSE3-with-alignment function to use aligned loads.Thiago Macieira2010-08-241-9/+11
| | | | | | | | | | | | This results in no change on the Core-i7, but another 2.6% on the Atom (so it's now 8% better than 4-byte loads and 31% better than current code)
| * Add an ucstrncmp that uses SSSE3 with aligning.Thiago Macieira2010-08-241-1/+52
| | | | | | | | | | | | | | | | | | | | | | The results on i7 are 32% improvement over current code, 13% improvement over 4-byte loads, 6% over the unaligned SSSE3 loads. However, it's about 2.5% slower than pure SSE2 code due to complexity. The results on Atom are 30% improvement over current code, 7% over 4-byte loads, 15% over pure unaligned SSE2 and 9% over unaligned SSSE3.
| * Add an SSSE3 version of ucstrncmpThiago Macieira2010-08-241-1/+79
| |
| * Optimise the tail comparison of ucstrncmpThiago Macieira2010-08-241-2/+36
| |
| * Add a version of ucstrncmp with SSE2 with aligning.Thiago Macieira2010-08-241-1/+43
| | | | | | | | | | | | | | | | This is a different technique of aligning. Instead of reading some bytes before the string, we will read some bytes of the string twice. Best results are only 2% improvement over the unaligned SSE2 on a Core-i7.
| * Add an SSE2-optimised version of ucstrncmpThiago Macieira2010-08-241-1/+38
| | | | | | | | | | First results make it 34% faster than current ucstrncmp, 16% faster than the 32-bit version.
| * Add the ucstrncmp benchmarksThiago Macieira2010-08-241-0/+136
| |
| * Update the data generation script to use a non-including .cppThiago Macieira2010-08-244-14/+23
| | | | | | | | | | This speeds up the writing of algorithms, so I don't have to recompile megabytes of data dumps.
| * Major improvements to the comparison functions.Thiago Macieira2010-08-242-188/+1770
| | | | | | | | | | | | Also use the real-world data that I collected. The resulting files are quite large, so I've added to Git only the smallest dump (apparently Teambuilder scanning the environment for "TEAMBUILDER=").
| * Add a script to generate real-world data from applicationsThiago Macieira2010-08-241-0/+200
| |
| * Slightly better version that saves EBX in an XMM registerThiago Macieira2010-08-241-15/+20
| |
| * Add an SSE4.2 version of the string comparisonThiago Macieira2010-08-242-1/+43
| | | | | | | | | | It's currently slightly worse than SSE2 with prolog aligning (i.e., it's no good)
| * Add an SSSE3 version that uses palignr to align.Thiago Macieira2010-08-242-1/+112
| | | | | | | | | | | | | | | | | | Instead of using a non-SIMD method for aligning, we instead load more bytes from p1 and use the PALIGNR instruction to realign to what we want. The result is that it's bit slower than the non-SIMD comparison, due to the complexity. For strings over 8 QChars wide, it's only slightly worse than the non-SIMD comparison.
| * Add an SSE2 comparison with prologThiago Macieira2010-08-241-0/+38
| | | | | | | | | | | | | | The prolog tries to align p1 to a multiple of 16, so as to run aligned loads, which are faster. Unfortunately, my tests so far indicate that the prolog ends up taking longer than the benefit of having aligned loads.
| * Add a benchmark for SSE2 comparison.Thiago Macieira2010-08-242-0/+28
| | | | | | | | | | This function uses unaligned loads. I'll try to write one with aligned loads later.
| * Add a 4-byte comparison routine.Thiago Macieira2010-08-241-0/+48
| | | | | | | | This is a copy of qMemEquals from qstring.cpp
| * Add some quick benchmarks for QChar comparisonThiago Macieira2010-08-241-1/+142
| |
* | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-08-252-0/+124
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/win32/msbuild_objectmodel.cpp src/declarative/qml/qdeclarativexmlhttprequest.cpp src/opengl/opengl.pro src/opengl/qgl_p.h src/plugins/bearer/connman/qconnmanservice_linux.cpp tests/auto/qpainter/tst_qpainter.cpp tools/assistant/tools/assistant/helpviewer_qwv.h tools/assistant/tools/assistant/openpageswidget.h
| * Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-08-181-0/+81
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Cocoa: revert parts of cc6dc0aeefde881a95f5fea2b26f2f3d7bdc6e15 Cocoa, Autotest: disable autotest that was added a bit premature make error messages consistent Add tests/benchmarks/README qgrayraster: Remove unnecessary indirection in QT_FT_Outline_Decompose Cocoa: add autotest to be more safe regarding child window stacking Fix compilation: QT_NO_TEXTSTREAM exclude QtXmlPatterns from the completeness assessment fix QMAKE_SUBSTITUTES with shadow builds Outline / fill inconsistency in X11 paint engine. Cocoa: parent windows shows on screen when they should be hidden Prevented Xorg crash in qtdemo when running corkboards example.
| | * Add tests/benchmarks/READMEMarkus Goetz2010-08-171-0/+81
| | | | | | | | | | | | | | | | | | With some information from the dev mailing list. Reviewed-by: Thiago
| * | Implement the general blending of ARGB32_pm with SSSE3Benjamin Poulain2010-08-161-0/+43
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SSSE3 provides two tools to improve the blending speed over SSE2: -palignr -byte permutation The alignement is enforced on src and dst with palignr to always make aligned access. The extraction of the alpha mask is done with a byte permutation in order to save two instructions per cycle. On Atom, this patch gives between 0% (aligned src) to 10% of improvement (unaligned 4 and 12 bytes). On Core 2, this patch gives consistently 8% to 10% of improvement for every miss-alignment. Reviewed-by: Samuel Rødal
* | Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-08-131-1/+71
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Cannot enter text through character viewer on Mac (Cocoa) QNAM HTTP: Remove eatWhitespace() hack QNAM: Fix namespaced compilation Revert the addition of the test of QtTest's random feature. QAbstractSocket: Remove warning QNAM Zerocopy: Benchmark tst_qbytearray: Auto test for reserve() tst_qiodevice: Add peek()ing auto test tst_qnetworkreply: Zerocopy auto test tst_qhttpnetworkconnection: Pipelining auto test QNAM Zerocopy: QNAM implementation part QNAM Zerocopy: HTTP implementation part QAbstractSocket: Enable Unbuffered OpenMode for TCP QNativeSocketEngine: Fix wrong debug output Added QObject::senderSignalIndex() Cleanup the connection list logic in QObject::sender Fixed linking against libQtTest on Mac. Added -random option to tests, making the test cases within a test execute in arbitrary order. Very useful for avoiding test cases being dependent on the running order.
| * | QNAM Zerocopy: BenchmarkMarkus Goetz2010-08-121-1/+71
| | |
* | | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-08-135-2/+353
|\ \ \ | |/ / |/| / | |/ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/painting/qpainter.cpp src/gui/text/qtextengine.cpp tests/auto/qimage/tst_qimage.cpp tests/auto/qpainter/tst_qpainter.cpp tools/qdoc3/test/assistant.qdocconf tools/qdoc3/test/designer.qdocconf tools/qdoc3/test/linguist.qdocconf tools/qdoc3/test/qmake.qdocconf tools/qdoc3/test/qt-build-docs.qdocconf tools/qdoc3/test/qt-html-templates.qdocconf tools/qdoc3/test/qt-html-templates_zh_CN.qdocconf tools/qdoc3/test/qt.qdocconf
| * add performance comparisons to qregexp benchmarkArvid Ephraim Picciani2010-08-103-1/+320
| | | | | | | | Reviewed-by: hjk
| * Implement comp_Source with SSE2 when there is a const alphaBenjamin Poulain2010-08-041-0/+32
| | | | | | | | | | | | On Atom, comp_Source is 280% faster with the SSE2 implementation. Reviewed-by: Andreas Kling
| * Merge remote branch 'origin/4.6' into 4.7-from-4.6Rohan McGovern2010-07-291-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty/webkit/VERSION src/3rdparty/webkit/WebKit/qt/ChangeLog src/gui/itemviews/qlistview.cpp tests/auto/qlistview/tst_qlistview.cpp tests/auto/qnetworkreply/test/test.pro tests/auto/qsocks5socketengine/qsocks5socketengine.pro
| | * Fix Rhys' qmake warningsMarkus Goetz2010-07-221-1/+1
| | |
| | * Remove files as instructed by Legal department.Jason McDonald2010-07-192-0/+0
| | |
| | * Remove test cases which cause stack overflowShane Kearns2010-07-151-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | These test cases are not considered reasonable for a small screen device (625 widgets). Patching the QWidget code to use iteration rather than recursion is considered too risky, as the code is performance critical. Task-number: QTBUG-8512 Reviewed-by: Bjoern Erik Nilsen
| | * The cmd line arguments have not been delegated properly.Aleksandar Sasha Babic2010-04-271-32/+1
| | | | | | | | | | | | | | | Task-number: QT-9377 Reviewed-by: Joao
* | | Add benchmarks for QtScript's QObject bindingKent Hansen2010-08-052-0/+1244
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The benchmarks cover the following: - Reading and writing meta-object-defined properties. - Reading and writing dynamic properties. - Reading child objects. - Reading script-defined (wrapper object) properties. - Reading prototype-inherited properties. - Calling slots (overloaded and non-overloaded, with or without implicit argument conversion). - Signal handling. Both "simple" and "complex" objects are tested. A "simple" object is an object that inherits directly from QObject, i.e. it doesn't drag with it a lot of stuff. A "complex" object is an object that has many properties and a relatively long inheritance chain (currently QPushButton is used). Reviewed-by: Jedrzej Nowacki
* | | Add benchmarks for QMetaType::construct(int type, void *copy = 0)Kent Hansen2010-08-053-0/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tests all built-in (core and GUI) types, both default construction (copy == 0) and copy construction. The benchmarks for GUI types must go into a separate file because core tests don't (and shouldn't) link against QtGui. Reviewed-by: Benjamin Poulain
* | | Add benchmarks for QVariant(int type, void *copy = 0)Kent Hansen2010-08-053-0/+164
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tests all built-in (core and GUI) types, both default construction (copy == 0) and copy construction. The benchmarks for GUI types must go into a separate file because core tests don't (and shouldn't) link against QtGui. Reviewed-by: Benjamin Poulain