summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks
Commit message (Collapse)AuthorAgeFilesLines
* Update license headers in files that are new in 4.6.Jason McDonald2009-06-175-9/+9
| | | | Reviewed-by: Trust Me
* Merge license header changes from 4.5Volker Hilsheimer2009-06-1648-95/+95
|\
| * Update license headers as requested by the marketing department.Jason McDonald2009-06-1648-95/+95
| | | | | | | | Reviewed-by: Trust Me
* | Deactivate the low level POSIX bench on WindowsAlexis Menard2009-06-151-0/+2
| |
* | Improve the speed of QDir, QFileInfo and QDirIterator.Alexis Menard2009-06-152-0/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch basically avoid to call too often currentFileInfo in QDirIterator. It replaces the QHash that was overkill in QFileInfo for caching filenames. The last part is reordering the matchesFilter to avoid stat as much as possible by using the power of && and filters that are set on QDirIterator. And it fixes some random "mistake". I have added a benchmark in QDir which test some use case with 10000 files in a dir. Written-with: Benjamin Reviewed-by: phartman
* | Make the bench a bit faster.Alexis Menard2009-06-041-2/+2
| | | | | | | | Reviewed-by:TrustMe
* | Add some comparisons with std::string to the QStringBuilder benchmarks.hjk2009-06-041-18/+68
| |
* | Add some performance tests for QMatrix4x4Rhys Weatherley2009-06-023-0/+268
| |
* | extend QStringBuilder benchmark to handle QT_NO_CAST_FROM_ASCII defined andhjk2009-05-292-56/+122
| | | | | | | | undefined.
* | QStringBuilder benchmark: make testing of the drop-in replacement ↵hjk2009-05-282-17/+21
| | | | | | | | | | | | | | operator+() easier. This adds a few explicit QString(...) casts around operator+() based expressions to make them acceptable for QCOMPARE.
* | Introduce a new class QStringBuilder to speed up the creation ofhjk2009-05-282-0/+316
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QString objects from smaller chunks. The QStringBuilder class: QStringBuilder uses expression templates (using the '%' operator) to postpone any actual concatenation until it is assigned to an actual QString. At that time it knows the exact sizes of all chunks, can compute the required space, allocates once a QString of appriopriate size and then copies over the chunk data one-by-one. In addition, QLatin1Literal is a drop-in replacement for QLatin1String (which we can't change for compatibility reasons) that knows its size, therefore saving a few cycles when computing the size of the resulting string. Some further saved cycles stem from inlining and reduced reference counting logic (the QString created from a QStringBuilder has typically ref count equal to 1, while QString::append() needs an extra test) Minor changes to the existing QString class: - Introduce QString constructor to create an uninitialized QString of a given size. This particular constructor is used by QStringBuilder class. - Introduce a QT_USE_FAST_CONCATENATION macro to disable the existing overloads of operator+() and helps finding the places where they are used in code. - Introduce QT_USE_FAST_OPERATOR_PLUS. This also disables the existing overloads of operator+() and creates a new templated operator+() with identical implementation of operator%(). This allows code that is compilable QT_CAST_{TO,FROM}_ASCII to use QStringBuilder almost transparently. The only case that is not covered is creating objects like QUrl that are implicitly constructible from a QString from a QStringBuilder result. This needs to be converted explicitly to a QString first, e.g. by using QUrl url(QString(QLatin1String("http://") + hostName)); Reviewed-by: MariusSO
* | Avoid deep copies of pixmaps when using cache in QGraphicsView.Alexis Menard2009-05-273-0/+103
| | | | | | | | | | | | | | | | | | | | | | | | When we have already a pixmap of an item in the cache, we should remove the entry from the cache otherwise when we will repaint/modify the copy of the pixmap (the copy of the cache) then we will trigger a deep copy ; this is because both entries in the cache and our copy share the same data and if you modify one of them a copy is triggered. I have added a benchmark as well to test that. Reviewed-by:bnilsen Reviewed-by:andreas
* | Reintroduce the unaligned-unaligned 32-bit code that I had removed out of ↵Thiago Macieira2009-05-221-11/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ignorance. If both pointers are out of 4-byte alignment, doing the first load will align them so we can do 32-bit comparisons. Lars's code had this before, but I misunderstood it and removed, thinking it was doing misaligned accesses. I experimented with moving the tail comparison above the 32-bit comparison to save a register, but it made things worse. Reviewed-By: Bradley T. Hughes
* | Add a benchmark for QString::operator==Thiago Macieira2009-05-222-0/+108
| | | | | | | | Reviewed-By: Bradley T. Hughes
* | Say hello to animation API & state machine APIKent Hansen2009-05-2211-66/+394
| |
* | Add properties to QGraphicsItem to change the transformations componentOlivier Goffart2009-05-222-0/+176
| | | | | | | | | | | | | | | | | | | | | | | | With the new properties it is possible to easily animate. Setting a transform using setTransform is incompatible with thoses properties. Accessing thoses propeties if you set previously a transform will give you the default values. Acknowledged-by: Code made with Andreas. Documentation written with Thierry. This still need a more in depth code review and documentation review. But it is urgent to commit now because the Animation API integration depends on it.
* | Add an extension to QPixmapCache to get rid of strings.Alexis Menard2009-05-183-1/+232
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit add a new API to add/find/remove pixmaps into QPixmapCache. This new extension is based on a key that the cache give you during the insertion. This key is internally a int which makes all operations in the cache much more faster that the string approach. Auto-tests has been extended as well and a benchmark has been added to compare both approach. I also depecrate the find method for the string API to have a method pointer based and not reference based like the Qt policy says. Reviewed-by: bnilsen Reviewed-by: andreas Followed-deeply-by: trond
* | Add a benchmark to measure performance on QGV with caching.Alexis Menard2009-05-113-0/+110
| | | | | | | | | | | | | | | | This commit add an benchmark to allow testing performance with cache enable or not. It covers different use cases with item rotating, moving and so on. Reviewed-by:bnilsen
* | Merge branch '4.5' of git@scm.dev.nokia.troll.no:qt/qtSimon Hausmann2009-04-173-20/+2
|\ \ | |/ | | | | | | Conflicts: tests/auto/qpainterpath/tst_qpainterpath.cpp
| * Remove obsolete code from autotests.Jason McDonald2009-04-163-20/+2
| | | | | | | | | | | | | | | | Each version of Qt has its own set of autotests, therefore preprocessor directives relating to obsolete QT_VERSION's are not necessary. Reviewed-by: Carlos Duclos
* | Merge commit 'origin/4.5'Bjoern Erik Nilsen2009-04-072-0/+66
|\ \ | |/ | | | | | | | | | | | | Conflicts: src/gui/graphicsview/qgraphicsitem.cpp src/gui/graphicsview/qgraphicsitem_p.h src/gui/graphicsview/qgraphicsscene.cpp src/gui/painting/qtransform.cpp
| * Fixes: Be a bit more smarter when calling setGeometry from itemChangeAlexis Menard2009-04-062-0/+66
| | | | | | | | | | | | | | | | RevBy: bnilsen AutoTest: Bench Details : if we come from setPosHelper (so itemChange) we don't need to do all the stuff regarding the size in setGeometry because the size doesn't change. I remove two calls to fullUpdateHelper and update() because prepareGeometryChange already call updateHelper and setPosHelper call fullUpdaterHelper too so we don't need to call them inside setGeometry. We can only call prepareGeometryChange only if we don't come from setPos.
| * Long live Qt 4.5!Lars Knoll2009-03-23158-0/+16057
|
* Benchmark for QTableView and spansOlivier Goffart2009-04-062-0/+199
|
* Long live Qt!Lars Knoll2009-03-23158-0/+16057