Added extra tests to json benchmark
- Added toByteArray() and fromByteArray() benchmark tests. Performance tests to measure QVariantMap to bytearray and bytearray to QVariantMap. Use case: Interprocess communications via local socket Change-Id: If5e94ff870890b2ebb665f3cc38f5c33b34547f4 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
This commit is contained in:
parent
df6a08951a
commit
bcba6ed252
@ -58,6 +58,8 @@ private Q_SLOTS:
|
||||
void parseNumbers();
|
||||
void parseJson();
|
||||
void parseJsonToVariant();
|
||||
void toByteArray();
|
||||
void fromByteArray();
|
||||
};
|
||||
|
||||
BenchmarkQtBinaryJson::BenchmarkQtBinaryJson(QObject *parent) : QObject(parent)
|
||||
@ -127,6 +129,36 @@ void BenchmarkQtBinaryJson::parseJsonToVariant()
|
||||
}
|
||||
}
|
||||
|
||||
void BenchmarkQtBinaryJson::toByteArray()
|
||||
{
|
||||
// Example: send information over a datastream to another process
|
||||
// Measure performance of creating and processing data into bytearray
|
||||
QBENCHMARK {
|
||||
QVariantMap message;
|
||||
message.insert("command", 1);
|
||||
message.insert("key", "some information");
|
||||
message.insert("env", "some environment variables");
|
||||
QByteArray msg = QJsonDocument(QJsonObject::fromVariantMap(message)).toBinaryData();
|
||||
}
|
||||
}
|
||||
|
||||
void BenchmarkQtBinaryJson::fromByteArray()
|
||||
{
|
||||
// Example: receive information over a datastream from another process
|
||||
// Measure performance of converting content back to QVariantMap
|
||||
// We need to recreate the bytearray but here we only want to measure the latter
|
||||
QVariantMap message;
|
||||
message.insert("command", 1);
|
||||
message.insert("key", "some information");
|
||||
message.insert("env", "some environment variables");
|
||||
QByteArray msg = QJsonDocument(QJsonObject::fromVariantMap(message)).toBinaryData();
|
||||
|
||||
QBENCHMARK {
|
||||
QVariantMap message;
|
||||
message = QJsonDocument::fromBinaryData(msg, QJsonDocument::Validate).object().toVariantMap();
|
||||
}
|
||||
}
|
||||
|
||||
QTEST_MAIN(BenchmarkQtBinaryJson)
|
||||
#include "tst_bench_qtbinaryjson.moc"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user