// static void printBenchmarkResult(const char *bmtag, int value, int iterations) static void printBenchmarkResult(const QBenchmarkResult &result) { const char *bmtag = QTest::benchmarkResult2String(); char buf1[1024]; QTest::qt_snprintf( buf1, sizeof(buf1), "%s: %s::%s", bmtag, QTestResult::currentTestObjectName(), result.context.slotName.toAscii().data()); char bufTag[1024]; bufTag[0] = 0; QByteArray tag = result.context.tag.toAscii(); if (tag.isEmpty() == false) { QTest::qt_snprintf(bufTag, sizeof(bufTag), ":\"%s\"", tag.data()); } char fillFormat[8]; int fillLength = 5; QTest::qt_snprintf( fillFormat, sizeof(fillFormat), ":\n%%%ds", fillLength); char fill[1024]; QTest::qt_snprintf(fill, sizeof(fill), fillFormat, ""); QByteArray unitText = QBenchmarkGlobalData::current->measurer->unitText().toAscii(); qreal valuePerIteration = qreal(result.value) / qreal(result.iterations); char resultBuffer[100] = ""; formatResult(resultBuffer, 100, valuePerIteration, countSignificantDigits(result.value)); QByteArray iterationText = "per iteration"; char buf2[1024]; Q_ASSERT(result.iterations > 0); QTest::qt_snprintf( buf2, sizeof(buf2), "%s %s %s", resultBuffer, unitText.data(), iterationText.data()); char buf3[1024]; Q_ASSERT(result.iterations > 0); QTest::qt_snprintf( buf3, sizeof(buf3), " (total: %s, iterations: %d)\n", QByteArray::number(result.value).constData(), // no 64-bit qt_snprintf support result.iterations); char buf[1024]; QTest::qt_snprintf(buf, sizeof(buf), "%s%s%s%s%s", buf1, bufTag, fill, buf2, buf3); memcpy(buf, bmtag, strlen(bmtag)); outputMessage(buf); }
// static void printBenchmarkResult(const char *bmtag, int value, int iterations) static void printBenchmarkResult(const QBenchmarkResult &result) { const char *bmtag = QTest::benchmarkResult2String(); char buf1[1024]; QTest::qt_snprintf( buf1, sizeof(buf1), "%s: %s::%s", bmtag, QTestResult::currentTestObjectName(), result.context.slotName.toAscii().data()); char bufTag[1024]; bufTag[0] = 0; QByteArray tag = result.context.tag.toAscii(); if (tag.isEmpty() == false) { QTest::qt_snprintf(bufTag, sizeof(bufTag), ":\"%s\"", tag.data()); } char fillFormat[8]; int fillLength = 5; QTest::qt_snprintf( fillFormat, sizeof(fillFormat), ":\n%%%ds", fillLength); char fill[1024]; QTest::qt_snprintf(fill, sizeof(fill), fillFormat, ""); const char * unitText = QTest::benchmarkMetricUnit(result.metric); qreal valuePerIteration = qreal(result.value) / qreal(result.iterations); char resultBuffer[100] = ""; formatResult(resultBuffer, 100, valuePerIteration, countSignificantDigits(result.value)); char buf2[1024]; QTest::qt_snprintf( buf2, sizeof(buf2), "%s %s", resultBuffer, unitText); char buf2_[1024]; QByteArray iterationText = " per iteration"; Q_ASSERT(result.iterations > 0); QTest::qt_snprintf( buf2_, sizeof(buf2_), "%s", iterationText.data()); char buf3[1024]; Q_ASSERT(result.iterations > 0); formatResult(resultBuffer, 100, result.value, countSignificantDigits(result.value)); QTest::qt_snprintf( buf3, sizeof(buf3), " (total: %s, iterations: %d)", resultBuffer, result.iterations); char buf[1024]; if (result.setByMacro) { QTest::qt_snprintf( buf, sizeof(buf), "%s%s%s%s%s%s\n", buf1, bufTag, fill, buf2, buf2_, buf3); } else { QTest::qt_snprintf(buf, sizeof(buf), "%s%s%s%s\n", buf1, bufTag, fill, buf2); } memcpy(buf, bmtag, strlen(bmtag)); outputMessage(buf); }