summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks
Commit message (Collapse)AuthorAgeFilesLines
* 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
| |_|_|/ |/| | |
* | | | Update copyright year to 2011.Rohan McGovern2011-03-107-7/+7
| |_|/ |/| | | | | | | | | | | Reviewed-by: Trust Me (cherry picked from commit 774a3536b00c4d6e4c4c10b708e31b4373a338e3)
* | | Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-earth-staging into ↵Qt Continuous Integration System2011-03-043-4/+15
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-earth-staging: (40 commits) Readded a ';;' that was removed by mistake. Fixed mkspec detection for Symbian. Removed javascript-jit from default symbian-gcce build. QAbstractSocket: Check for socket state on Unbuffered reads Corrected a mismerge in GCCE link parameters. QAbstractSocket: Check for engine validity on Unbuffered reads tst_qnetworkreply: fix the MiniHttpServer. tst_qnetworkProxyFactory: fix debug output. Fixed incorrect referral to an include file. tst_qnetworkreply: getErrors() only ignore warning for the specific test Check engine existence before increasing reference count Fixed library casing. Fix Q_INVOKABLE declared after Q_PROPERTY tst_qnetworkreply: small improvements QNAM: Add a warning for misuse of the file backend. Keep reference count for cached font engines in QTextEngine QNAM HTTP: Be more strict with HTTP channel state tst_qnetworkreply: Add a test for broken gzip encoding QNAM HTTP: Add qWarning() for double-finished() bug fix documentation typos in isLowSurrogate and requiresSurrogates ...