summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | | Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2010-07-286-0/+164
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qapplication.cpp tests/auto/qfileinfo/tst_qfileinfo.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.qdocconf
| * | Use SSSE3 to convert from RGB888 to RGB32Benjamin Poulain2010-07-263-0/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Converting from RGB encoded on 24bits to RGB encoded on 32 bits is quite inefficient. This type of conversion is common for some image format. The patch implement the conversion with SSSE3. This reduce by 3 the number of instructions, pushing the bottleneck to memory bandwidth. On Atom N450, the new benchmark is 40% faster for scanlines of 2000 pixels, 30% faster for scanlines of 32 pixels, and 15% slower for small images (3 and 8px). Reviewed-by: Olivier Goffart
| * | Add additional QVariant benchmarks.Michael Brasser2010-07-221-0/+45
| | |
| * | Remove some files as instructed by Legal department.Jason McDonald2010-07-202-0/+0
| | | | | | | | | | | | Task-number: QT-3613
* | | Merge remote branch 'origin/4.7' into qt-master-from-4.7Thiago Macieira2010-07-157-10/+388
|\ \ \ | |/ / | | | | | | | | | Conflicts: src/gui/kernel/qapplication.h
| * | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integrationQt Continuous Integration System2010-07-101-0/+41
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: (65 commits) Fix QTextDocument::markContentsDirty() Replace 4.6 in all .qdocconf files Resetting bindings through debugger interface Fix crash with invalid role indexes Make test pass and fix docs following removal of SpringFollow Remove autotests of depracted element SmoothedFollow doc improvements Clean up at the end of each test. Improve test reliability. Fix crash Follow -> Behavior Added some documentation to spring animation Fix spring animation Update QtDeclarative def files Fix exponential behavior of QTextCursor::removeSelectedText Optimization: change signal/slot to function call Don't show warning for attempts to load pixmaps asynchronously Remove Image::pixmap property. QML applications should use Update QmlChanges.txt Don't double delete cancelled pixmap cache requests ...
| | * | Add styled text layout benchmark.Michael Brasser2010-07-051-0/+41
| | | |
| * | | Add test and fix style for the SSE2 implementation of ARGB32 conversionBenjamin Poulain2010-07-071-1/+63
| |/ / | | | | | | | | | | | | | | | | | | | | | The commit beba018814b35c4bd032e6b9fa948e4bac34c59a introduce conversion from ARGB32 to ARGB32_PM with SSE2. This patch add a benchmark for this type of usage, and change the name to use lowercase for SSE2 (style convention).
| * | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2 into ↵Qt Continuous Integration System2010-07-011-0/+51
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (51 commits) Symbian on Linux: $QTDIR/bin is not necessarily in the path. Updated Symbian def files with new EGL exports. Added another missing EGL stub. Fixed compilation on Symbian. Added missing EGL stub function. Got rid of unused variable compiler warning. QGLWindowSurface support for partial updates via EGL_NOK_swap_region2 Adding func prototypes for EGL_NOK_swap_region2 extension. Check for EGLSurface leak only when paint device is a QGLWidget. Fixed bug in drawTiledPixmap when width of pixmap matches target rect. Update def files for symbian Improved performance of 16 bit memrotates using NEON instructions. Use built-in iconv on Solaris if available Export various symbols needed to make a custom GL graphicssystem. Moc: fix compilation when templated types with multiple arguments are used. Fixes the documentation of QGraphicsEffect::update(). support BGRA textures on SGX Avoid calling time.elapsed() twice in abstract animation Adds slowdownFactor to UnifiedTimer in abstract animation Add the conversion in-place for QPixmap::fromImageReader() on raster. ...