summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/painting/qcolor
diff options
context:
space:
mode:
authorDavid Faure <david.faure@kdab.com>2016-08-04 10:01:21 +0200
committerDavid Faure <david.faure@kdab.com>2016-08-05 09:56:12 +0000
commit434c52269564c84e3ea57242b7aaa2fd7cad3f54 (patch)
treefa3818b5b59278d6f37e7bca834b6f908f15b885 /tests/auto/gui/painting/qcolor
parenteb4bcdd8cec77c558cc75d31730cff89852dd684 (diff)
Improve performance of QColor::name, now more than 4 times faster
Before: HexRgb: 0.00230 ms per iteration, HexArgb: 0.00290 ms per iteration After: HexRgb: 0.00051 ms per iteration, HexArgb: 0.00061 ms per iteration This showed up as a relevant optimization when profiling KIconLoader which uses QColor::name() as part of the key -- thanks to Mark Gaiser for the investigation and first suggestion of a solution. I have also seen customer code writing a replacement for QColor::name() because it was too slow to be used as a hash key. Change-Id: I009ccdd712ea0d869d466e2c9894e0cea58f0e68 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'tests/auto/gui/painting/qcolor')
-rw-r--r--tests/auto/gui/painting/qcolor/tst_qcolor.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/tests/auto/gui/painting/qcolor/tst_qcolor.cpp b/tests/auto/gui/painting/qcolor/tst_qcolor.cpp
index b81a4e2c4c..289b06fc62 100644
--- a/tests/auto/gui/painting/qcolor/tst_qcolor.cpp
+++ b/tests/auto/gui/painting/qcolor/tst_qcolor.cpp
@@ -284,6 +284,8 @@ void tst_QColor::name_data()
QTest::newRow("global color darkMagenta") << QColor(Qt::darkMagenta) << "#800080" << QColor::HexRgb;
QTest::newRow("global color darkYellow") << QColor(Qt::darkYellow) << "#808000" << QColor::HexRgb;
QTest::newRow("transparent red") << QColor(255, 0, 0, 102) << "#66ff0000" << QColor::HexArgb;
+ QTest::newRow("fully_transparent_green_rgb") << QColor(0, 0, 255, 0) << "#0000ff" << QColor::HexRgb;
+ QTest::newRow("fully_transparent_green_argb") << QColor(0, 0, 255, 0) << "#000000ff" << QColor::HexArgb;
}
void tst_QColor::name()