summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | Add a benchmark for testing our QtDBus type-validationThiago Macieira2011-04-133-1/+125
| | | | | | | | | | | | | | | | | | | | | | | | Our code is much faster than libdbus-1, even when built in debug mode.
| * | | | | Move the QDBusPerformance test to the tests/benchmark dirThiago Macieira2011-04-139-0/+431
| | |_|_|/ | |/| | |
* | | | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt into earth-masteraxis2011-04-073-1/+235
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | Conflicts: src/corelib/thread/qthread_unix.cpp
| * | | | Merge remote branch 'qt-master/master'Guoqing Zhang2011-04-0512-22/+73541
| |\ \ \ \ | | | |_|/ | | |/| |
| * | | | Merge remote branch 'qt-master/master'Guoqing Zhang2011-03-167-7/+7
| |\ \ \ \ | | | |_|/ | | |/| | | | | | | | | | | | Conflicts: src/corelib/thread/qthread_unix.cpp
| * | | | Remerging SymbianLite to team repository.Sami Lempinen2011-03-094-5/+18
| |\ \ \ \
| * \ \ \ \ Merging SymbianLite branch to master.Sami Lempinen2011-03-093-1/+235
| |\ \ \ \ \
| | * | | | | Using Symbian native mutex type in tst_bench_qmutexmread2011-03-091-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QMutex benchmark contains benchmarks for the native mutex type. It was using pthread_mutex_t on Symbian, which isn't the true native mutex type and so isn't really representative of true native performance. Now it uses RMutex. Task-number: QTBUG-13990 Reviewed-by: Shane Kearns
| | * | | | | making the QWaitCondition benchmark more reliablemread2011-03-091-8/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The benchmark sometimes hung because wait conditions were sometimes signalled before being waited for. This change adds a real condition to control the interactions. Task-number: QTBUG-13990 Reviewed-by: Shane Kearns
| | * | | | | Starting a benchmark test for QWaitConditionmread2011-03-092-0/+202
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new test is added in anticipation of a native implementation of QWaitCondition for Symbian. Task-number: QTBUG-13990 Reviewed-by: Shane Kearns
* | | | | | | QNetworkDiskCache: clean up after merge requestPeter Hartmann2011-04-011-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | changes include whitespace, parenting, recovering erroneously deleted code etc. Reviewed-by: Markus Goetz
* | | | | | | Speed benchmark for QNetworkDiskCacheSiddharth Mathur2011-04-013-1/+452
| |_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | Merge-Request: 2505 Reviewed-by: Peter Hartmann
* | | | | | Add a once-over unrolled fromLatin1 conversion (32 characters)Thiago Macieira2011-03-271-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was suggested by Matthias Kretz on my blog. It improves on GCC (one case up to 5%), but worsens on ICC (up to 5%).
* | | | | | Add 16-byte loads of the Neon fromLatin1 functionsThiago Macieira2011-03-271-0/+68
| | | | | |
* | | | | | Remove the use of the QtTest baseline feature I revertedThiago Macieira2011-03-221-4/+4
| | | | | |
* | | | | | Use the ARM version of UTF-8 detection in the Neon codeThiago Macieira2011-03-221-16/+13
| | | | | |
* | | | | | Update the data files for the QString benchmark testThiago Macieira2011-03-223-204/+71503
| | | | | | | | | | | | | | | | | | | | | | | | Also add the Neon build flags
* | | | | | Fix a bug in the SSE2 UTF-8 decoder.Thiago Macieira2011-03-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the multibyte sequence crossed the end of the SSE2 area, then len would have a wrong value and the data wouldn't be read.
* | | | | | Add ARM Neon versions of fromLatin1 and fromUtf8Thiago Macieira2011-03-221-0/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fromLatin1 code is very simple, yet the handwritten assembly performs better due to the use of post-increments. The fromUtf8 code has two alternatives. Neon lacks an instruction similar to SSE2's _mm_movemask_epi8 (PMOVMSKB) which extracts one bit from each byte and stores it in a register. We used that in the UTF-8 code to detect bytes with the highest bit set. To compensate, we used two alternatives: 1) AND the comparison result with a vector containing {128, 64, ...,1 } Do 3 parallel-adds (VPADD.I8), which will make the mask propagate to the lowest component in the vector. Trick found in: http://hilbert-space.de/?p=22 (comment 16-17) 2) Extract the two words from the doubleword Neon register and do the work in ARM assembly. It looks like the latter version is performing better.
* | | | | | Make this compile on Atom/Core2 (no SSE4) and on ARM (no SSE)Thiago Macieira2011-03-221-1/+18
| | | | | |
* | | | | | Add baselines and zeros to the benchmarks.Thiago Macieira2011-03-221-6/+13
| | | | | |
* | | | | | Add an UTF-8 conversion on trusted data and no BOM.Thiago Macieira2011-03-221-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This assumes that there are no overlong sequences, no continuation characters without the leading, no missing continuations and no BOM.
* | | | | | Make it easier to write a UTF-8 conversion on trusted dataThiago Macieira2011-03-221-38/+58
| | | | | |
* | | | | | Add the missing tests and 4-byte UTF-8 sequencesThiago Macieira2011-03-221-1/+23
| | | | | |
* | | | | | Improve the code and avoid unnecessary storesThiago Macieira2011-03-221-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If there's an UTF-8 high byte in the first 8 bytes, don't try to save the latter 8 characters
* | | | | | Add an UTF-8 conversion optimised for ASCII using SSE2Thiago Macieira2011-03-221-1/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code is 2x faster than the original UTF-8 code and within 35% of the pure Latin1 code
* | | | | | Add an UTF-8 conversion code that is optimised for ASCIIThiago Macieira2011-03-221-2/+94
| | | | | | | | | | | | | | | | | | | | | | | | This code is ~1.5x faster than the original UTF-8 code
* | | | | | Add a stateless copy of the Qt 4.7 UTF-8 codec.Thiago Macieira2011-03-221-0/+99
| | | | | | | | | | | | | | | | | | | | | | | | For whatever reason, this code is worse than the stateful code...
* | | | | | Add UTF-8 code benchmarksThiago Macieira2011-03-221-0/+223
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also compare to the Latin1 functions. The UTF-8 algorithm in Qt 4.7 right now is 109% slower than the unoptimised Latin-1 algo, 120% than the Qt 4.7 SSE2 code
* | | | | | Improve a little more the core loop and propagate to the other codeThiago Macieira2011-03-221-18/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently are that the "improved SSE2" version and the SSE4.1 version are yielding the best results, within 1% of each other. These results are around 20% better than the Qt 4.7 code.
* | | | | | Reduce the number of operations in the main loopThiago Macieira2011-03-221-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The more operations there are, the more time it takes. More importantly, the more variables we touch, the more the compiler may want to use the stack instead of registers.
* | | | | | Add an SSE4 version using PMOVZXBW and PSRLDQThiago Macieira2011-03-221-0/+22
| | | | | |
* | | | | | Attempt to improve the epilog codeThiago Macieira2011-03-221-19/+72
| | | | | |
* | | | | | Add two SIMD overcommit prologsThiago Macieira2011-03-221-0/+21
| | | | | |
* | | | | | Try to remove the non-determinism by moving the malloc() awayThiago Macieira2011-03-221-10/+15
| | | | | |
* | | | | | Optimise the prolog even furtherThiago Macieira2011-03-221-16/+33
| | | | | |
* | | | | | Try to improve the prolog by doing less operationsThiago Macieira2011-03-221-7/+7
| | | | | |
* | | | | | Add an unrolled prologThiago Macieira2011-03-221-1/+22
| | | | | |
* | | | | | Make the prolog function more genericThiago Macieira2011-03-221-12/+6
| | | | | |
* | | | | | Add an SSE2 alternative with prologThiago Macieira2011-03-221-0/+48
| | | | | |
* | | | | | Add some boundary/spill protectionThiago Macieira2011-03-221-4/+8
| | | | | |
* | | | | | Correct the code: use ushorts, not QCharThiago Macieira2011-03-221-4/+4
| | | | | |
* | | | | | Add the SSE2 code we have in Qt 4.7 to the benchmarkThiago Macieira2011-03-221-0/+26
| | | | | |
* | | | | | Add a test for QString::fromLatin1 performace alternativesThiago Macieira2011-03-225-11/+414
| | | | | |
* | | | | | Remove the __attribute__((optimize)) marksThiago Macieira2011-03-221-11/+11
| | | | | |
* | | | | | Add a script that generates a string table of 8-bitsThiago Macieira2011-03-221-0/+203
| | | | | |
* | | | | | Add a benchmark for QString::fromLatin1Thiago Macieira2011-03-221-0/+36
| | | | | |
* | | | | | Compile in C++0x modeThiago Macieira2011-03-221-10/+10
| | | | | |
* | | | | | add license headers to qhash_string benchmarkhjk2011-03-212-1/+40
| | | | | |
* | | | | | benchmarks: first shot at alternative implementation for qHash(QString)hjk2011-03-165-0/+435
| |_|_|/ / |/| | | |