diff options
author | Denis Dzyubenko <denis.dzyubenko@nokia.com> | 2009-07-13 11:47:57 (GMT) |
---|---|---|
committer | Denis Dzyubenko <denis.dzyubenko@nokia.com> | 2009-07-16 10:09:39 (GMT) |
commit | dbb3062a06c3ea6d3cb5b6536cee7b2e4b99b677 (patch) | |
tree | 34d53067f3c17d412bc0efabb6960ce3916a4661 | |
parent | 0ee8e33ae604bb8b8eeded59a66b53062168fc9b (diff) | |
download | Qt-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.cpp | 18 | ||||
-rw-r--r-- | tests/benchmarks/qstring/qstring.pro | 8 | ||||
-rw-r--r-- | tests/benchmarks/qstring/utf-8.txt | 72 |
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 |