当前位置: 首页>>代码示例>>C++>>正文


C++ Benchmark::end方法代码示例

本文整理汇总了C++中Benchmark::end方法的典型用法代码示例。如果您正苦于以下问题:C++ Benchmark::end方法的具体用法?C++ Benchmark::end怎么用?C++ Benchmark::end使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Benchmark的用法示例。


在下文中一共展示了Benchmark::end方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1:

TEST_F(BenchmarkTest, it_measures_time_consuming) {
	Benchmark benchmark;
	benchmark.start();
	int time_to_sleep = 1;
	suspend(time_to_sleep);
	ASSERT_TRUE(time_to_sleep <= benchmark.end());
}
开发者ID:mgeer,项目名称:cpp_ut_demo,代码行数:7,代码来源:benchmark_test.cpp

示例2: paintEvent

void BenchWidget::paintEvent(QPaintEvent *)
{
    if (m_done)
        return;

    QPainter p(this);

    m_benchmark->begin(&p, 100);

    PaintingRectAdjuster adjuster;
    adjuster.setNewBenchmark(m_benchmark);
    adjuster.reset(rect());

    for (int i = 0; i < 100; ++i)
        m_benchmark->draw(&p, adjuster.newPaintingRect(), i);

    m_benchmark->end(&p);

    ++m_iteration;

    uint currentElapsed = timer.isNull() ? 0 : timer.elapsed();
    timer.restart();

    m_total += currentElapsed;

    // warm up for at most 5 iterations or half a second
    if (m_iteration >= 5 || m_total >= 500) {
        iterationTimes << currentElapsed;

        if (iterationTimes.size() >= 5) {
            qreal mean = 0;
            qreal stddev = 0;
            uint min = INT_MAX;

            for (int i = 0; i < iterationTimes.size(); ++i) {
                mean += iterationTimes.at(i);
                min = qMin(min, iterationTimes.at(i));
            }

            mean /= qreal(iterationTimes.size());

            for (int i = 0; i < iterationTimes.size(); ++i) {
                qreal delta = iterationTimes.at(i) - mean;
                stddev += delta * delta;
            }

            stddev = qSqrt(stddev / iterationTimes.size());

            stddev = 100 * stddev / mean;
            // do 50 iterations, break earlier if we spend more than 5 seconds or have a low std deviation after 2 seconds
            if (iterationTimes.size() >= 50 || m_total >= 5000 || (m_total >= 2000 && stddev < 4)) {
                m_result = min;
                m_done = true;
                return;
            }
        }
    }
}
开发者ID:mpvader,项目名称:qt,代码行数:58,代码来源:tst_qtbench.cpp

示例3: factory

TEST_F(PerformanceTest, DISABLED_test_performance) {
	DiskHammalFactory factory(GBYTES11FILE);
	OutputWriter writer(GBYTESRESULT);
	JobConfiguration configuration(1, 150 * 1024 * 1024, 10, 20);
	JobClient client(configuration, factory, writer);
	SimpleWordMapper mapper;
    Benchmark benchmark;
    benchmark.start();
	client.run_job(mapper);
    std::cout << "Elapsed time in second:" << benchmark.end() << std::endl;
}
开发者ID:mgeer,项目名称:cpp_ut_demo,代码行数:11,代码来源:performance_test.cpp


注:本文中的Benchmark::end方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。