| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Replace Nokia contact email address with Qt Project website.
- Remove "All rights reserved" line from license headers.
As in the past, to avoid rewriting various autotests that contain
line-number information, an extra blank line has been inserted at the
end of the license text to ensure that this commit does not change the
total number of lines in the license header.
Change-Id: Ie7ba62011752fcb149b99b26317c54f2a0cfa931
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
|
|
|
|
|
|
|
|
|
| |
If the seek position matches the current file position, then
avoid doing an implicit flush that could be expensive.
Change-Id: I019858ffb36fe832b9aee8da0a7803cafc8f7f75
Reviewed-by: Jaakko Helanti <ext-jaakko.helanti@nokia.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moving three benchmark tests from 'tests/auto' to 'tests/benchmarks'.
Also removing 'qttest_p4' usage while we are at it.
- void asScrollingList();
- void cacheBenchmark();
- void contiguousCacheBenchmark();
were moved to 'tests/benchmarks/corelib/tools/qcontiguouscache'
Change-Id: Ie6ca7f55db2a218f3ccf699744cb721a8a1e2363
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
|
|
|
|
|
|
|
|
|
| |
Simple search and replace. This commit doesn't touch 3rd-party files,
nor translations (where the change is not so simple and will be handled
in a separate commit).
Change-Id: I4e48513b8078a44a8cd272326685b25338890148
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
|
|
|
|
|
|
|
|
|
| |
These changes are mostly a backport from qtbase and a fix to
those tests that are dependent on private APIs.
Change-Id: I6e647583d7aaddf525d719c3b61f59a0c9aedf74
Reviewed-by: Rohan McGovern
Reviewed-by: Friedemann Kleint
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/qt-symbian-staging:
Supporting parallel pointer event delivery on Symbian
Removed unix specific mmap use from QString benchmark
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The mmap flags MAP_ANONYMOUS and MAP_POPULATE are unix specific, and
are not supported by Symbian's posix headers. The benchmark code using
them, already unix-only, now is removed from Symbian builds.
Task-number: QTBUG-18197
Reviewed-by: Shane Kearns
|
|/
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit cf17b743d2fe84ab259b7232ab07b58a1872e18e, which
changed QMutex to use a Mach semaphore_t on Mac OS X. We now use
pthread_mutex_t on Mac OS X as well. Contention performance is mostly
unchanged, but the new constructionQMutex() benchmark added in this
commit shows that creating/destroying a semaphore_t is about 20 times
slower than pthread_mutex_t.
Reviewed-by: Olivier Goffart
Reviewed-by: João Abecasis
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QLine contained a number of places where conversions and calculations
were done as double where qreal should have been used instead. This
is caused by the use of raw floating point literals. The fix is to
construct the literals as qreal. The angle conversions are simplified
to reduce the risk of a growing loss of precision from this change.
On Symbian, where qreal is float, this gives a 5-10% performance
improvement to the affected functions, as tested by a new benchmark
test. The auto tests pass, these contain precision tests which indicates
that there is no significant loss of precision with this change.
On Windows, where qreal is double, this has no significant effect on
performance.
Task-number: QTBUG-4894
Reviewed-by: Shane Kearns
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a) don't detach until an occurrence found
b) don't memmove every time an occurrence found
c) truncate quickly )
well, numbers are better than words:
before:
RESULT : tst_QList::removeAll_primitive():
2,617,902 CPU ticks per iteration (total: 261,790,171, iterations: 100)
RESULT : tst_QList::removeAll_movable():
2,547,540 CPU ticks per iteration (total: 254,753,960, iterations: 100)
RESULT : tst_QList::removeAll_complex():
16,852,099 CPU ticks per iteration (total: 1,685,209,906, iterations: 100)
after:
RESULT : tst_QList::removeAll_primitive():
73,520 CPU ticks per iteration (total: 73,520,442, iterations: 1000)
RESULT : tst_QList::removeAll_movable():
90,422 CPU ticks per iteration (total: 90,422,464, iterations: 1000)
RESULT : tst_QList::removeAll_complex():
9,667,073 CPU ticks per iteration (total: 9,667,072,670, iterations: 1000)
Merge-request: 1285
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
|
|
|
|
|
|
|
|
|
| |
Applies the fix of Commit 9c1e358df4b0af1a6299ea7932f8b2e8af840873
(review by Liang Qi) to four more test cases.
Change-Id: I1483d4b7c2aecde960af5d98fb8b772aeba20ec5
Reviewed-by: Sergio Ahumada
Reviewed-by: Liang Qi
|
|
|
|
|
|
|
| |
optimizations follows...
Merge-request: 2615
Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
|
|\ |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
master-integration
* 'master' of scm.dev.nokia.troll.no:qt/qt-symbian-staging:
Increased EPOCHEAPSIZE for qpainter benchmark
Increased EPOCHEAPSIZE for few benchmarks
Update Symbian DEF-files
Improve DEFINES crossplatform compatibility in Symbian builds.
Freezing the QtCore defs again for 4.8.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Insufficient heap size was causing containers-sequential and
qgraphicsscene benchmarks to panic in Symbian^1 devices.
Task-number: QTBUG-17725
Reviewed-by: Sami Merila
|
| |/
| |
| |
| |
| |
| |
| | |
Updated version of LGPL and FDL licenseheaders.
Apply release phase licenseheaders for all source files.
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Following the RFC4122, provide the interfaces between QUuid
and QByteArray, they are simpler then toByteArray() and
relevant.
Thanks for the suggestion and brief code from Robin Burchell.
Task-number: QTBUG-19420
Reviewed-by: joao
|
| |
| |
| |
| |
| |
| |
| |
| | |
Add QUuid::toByteArray() and QUuid(const QByteArray &). Same
behavior with QUuid::toString() and QUuid(const QString &).
Task-number: QTBUG-19419
Reviewed-by: joao
|
|/
|
|
|
|
| |
Missing those functions for optimization.
Reviewed-by: joao
|
|
|
|
| |
Reviewed-by: Sergio Ahumada
|
|\ |
|
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|