当前位置:   article > 正文

QString 字符串操作性能比较_qt字符串拼接性能

qt字符串拼接性能

1、 QString append追加方式,和使用QTextStream追加方式的性能比较,从下面代码可以看到在1000W次循环下,append方式耗时是QTextStream方式的3倍多,且数据量从1000次循环到1000W次循环也是这个差距比。

2、 QString arg格式化参数方式和asprintf方格式化方式耗时差不多,但是asprintf没有arg好用,且不符合QT的风格,可以弃用。

#include <QCoreApplication>
#include <QDebug>
#include <chrono>
#include <thread>
#include <QTextStream>
using namespace std::chrono;

void testappend()
{
    time_point<steady_clock> start = steady_clock::now();
    {
        QString string;
        for (int i  = 0; i < 10000; i++) {
            for (int j  = 0; j < 1000; j++) {
                string.append("i");
            }
            string.append("j");
        }
    }
    time_point<steady_clock> end = steady_clock::now();

    std::chrono::duration<double> elapsed = end - start;
    qDebug() << "QString append方式: Elapsed time: " <<
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号