| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| | |
Conflicts:
src/corelib/thread/qthread_unix.cpp
|
| |\ |
|
| |\ \
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/corelib/thread/qthread_unix.cpp
|
| |\ \ \ |
|
| |\ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This new test is added in anticipation of a native implementation of
QWaitCondition for Symbian.
Task-number: QTBUG-13990
Reviewed-by: Shane Kearns
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
changes include whitespace, parenting, recovering erroneously deleted
code etc.
Reviewed-by: Markus Goetz
|
| |_|_|_|/
|/| | | |
| | | | |
| | | | |
| | | | | |
Merge-Request: 2505
Reviewed-by: Peter Hartmann
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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%).
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Also add the Neon build flags
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This assumes that there are no overlong sequences, no continuation
characters without the leading, no missing continuations and no BOM.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If there's an UTF-8 high byte in the first 8 bytes, don't
try to save the latter 8 characters
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This code is 2x faster than the original UTF-8 code and within 35% of
the pure Latin1 code
|
| | | | |
| | | | |
| | | | |
| | | | | |
This code is ~1.5x faster than the original UTF-8 code
|
| | | | |
| | | | |
| | | | |
| | | | | |
For whatever reason, this code is worse than the stateful code...
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| |_|_|/
|/| | | |
|
| |_|/
|/| |
| | |
| | |
| | | |
Reviewed-by: Trust Me
(cherry picked from commit 774a3536b00c4d6e4c4c10b708e31b4373a338e3)
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
...
|