summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Dzyubenko <denis.dzyubenko@nokia.com>2009-07-13 11:47:57 (GMT)
committerDenis Dzyubenko <denis.dzyubenko@nokia.com>2009-07-16 10:09:39 (GMT)
commitdbb3062a06c3ea6d3cb5b6536cee7b2e4b99b677 (patch)
tree34d53067f3c17d412bc0efabb6960ce3916a4661
parent0ee8e33ae604bb8b8eeded59a66b53062168fc9b (diff)
downloadQt-dbb3062a06c3ea6d3cb5b6536cee7b2e4b99b677.zip
Qt-dbb3062a06c3ea6d3cb5b6536cee7b2e4b99b677.tar.gz
Qt-dbb3062a06c3ea6d3cb5b6536cee7b2e4b99b677.tar.bz2
Added a utf8->utf16 conversion benchmark.
We need a find better unicode input document though.
-rw-r--r--tests/benchmarks/qstring/main.cpp18
-rw-r--r--tests/benchmarks/qstring/qstring.pro8
-rw-r--r--tests/benchmarks/qstring/utf-8.txt72
3 files changed, 98 insertions, 0 deletions
diff --git a/tests/benchmarks/qstring/main.cpp b/tests/benchmarks/qstring/main.cpp
index 2c218df..b53b284 100644
--- a/tests/benchmarks/qstring/main.cpp
+++ b/tests/benchmarks/qstring/main.cpp
@@ -39,6 +39,7 @@
**
****************************************************************************/
#include <QStringList>
+#include <QFile>
#include <qtest.h>
class tst_QString: public QObject
@@ -47,6 +48,7 @@ class tst_QString: public QObject
private slots:
void equals() const;
void equals_data() const;
+ void fromUtf8() const;
};
void tst_QString::equals() const
@@ -118,6 +120,22 @@ void tst_QString::equals_data() const
<< QString::fromRawData(ptr + 1, 58) << QString::fromRawData(ptr + 3, 58);
}
+void tst_QString::fromUtf8() const
+{
+ QFile file(SRCDIR "utf-8.txt");
+ if (!file.open(QFile::ReadOnly)) {
+ qFatal("Cannot open input file");
+ return;
+ }
+ QByteArray data = file.readAll();
+ const char *d = data.constData();
+ int size = data.size();
+
+ QBENCHMARK {
+ QString::fromUtf8(d, size);
+ }
+}
+
QTEST_MAIN(tst_QString)
#include "main.moc"
diff --git a/tests/benchmarks/qstring/qstring.pro b/tests/benchmarks/qstring/qstring.pro
index 74423e7..6aad1c0 100644
--- a/tests/benchmarks/qstring/qstring.pro
+++ b/tests/benchmarks/qstring/qstring.pro
@@ -2,3 +2,11 @@ load(qttest_p4)
TARGET = tst_qstring
QT -= gui
SOURCES += main.cpp
+
+wince*:{
+ DEFINES += SRCDIR=\\\"\\\"
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD/\\\"
+}
+
+
diff --git a/tests/benchmarks/qstring/utf-8.txt b/tests/benchmarks/qstring/utf-8.txt
new file mode 100644
index 0000000..a8a58de
--- /dev/null
+++ b/tests/benchmarks/qstring/utf-8.txt
@@ -0,0 +1,72 @@
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: Русский
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: Русский
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: Русский
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: Русский
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: Русский
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: Русский
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: Русский
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: Русский
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: Русский
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: Русский
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: Русский
+언어 : 한국어
+言語: 日本語
+Langage : Français
+Språk: Norsk
+Γλώσσα: Ελληνικά
+Язык: Русский
+언어 : 한국어
+言語: 日本語
+Langage : Français