Qt - 写入速度 - 在 Qt 中写入文件的最快方法是什么?
Qt - Write Speed - What's the fastest method to write a file in Qt?
我已经找到了一些关于Qt和用c++编写文件的帖子,但我没有找到现有方法的比较和对问题的满意答案"在Qt中编写文件的最快方法是什么?"…
任务:我需要写一大堆双精度值(大约500.000到100.000)到一个文件。由于我的程序结构,这些值保存在一个QList中,其中包含一些QVector(每个QVector具有相同的大小)。QVectors包含双精度值。此外,每个列(每个QList元素都是一个列)必须以不同的精度写入。每一列用一个t分隔。
我尝试了几种方法:
- 使用<< 将QTextStream转换为QFile
- 使用QFile::write直接写入QFile
- FILE and fwrite
最后,我在QTextStream和FILE中使用fwrite(几乎相同的速度)获得了最好的结果,QFile使用QFile::write稍微慢一点(可能是30%)。
但是我仍然认为一定有更快的方法。对于500.000双值,我的PC (Core2Duo)需要大约2s,这是相当长的时间。
我也考虑过使用Boost Karma c++库-你能推荐吗?http://www.boost.org/doc/libs/1_51_0/libs/spirit/doc/html/spirit/karma.html
假设您像下面这样做,您不太可能找到比fwrite更快的方法。
double values[1000] = {...};
fwrite(values, sizeof(double), 1000, f);
相关文章:
- Qt将信号与另一个类方法连接
- Qt - QVector 和模型视图 - 从列表视图获取自定义类的最佳方法是什么?
- 清理"QSettings"注册表项的最佳方法(Windows上的Qt 5)
- Qt中的包装连接方法隐藏了编译器所需的信息
- 如何将函数指针传递给方法,以便它可以在Qt的connect()中使用?
- 在QT中为小部件添加彩色边框的最佳方法是什么
- 初始化和终止Qt应用程序的正确方法?
- 有没有一种方法可以忽略Qt c++中的文件名大小写敏感性?
- QT 替换子方法
- CMake + Qt,moc 编译失败,无法实现 QMetaObject 方法(编译器找不到基本 ui 对象的标头?
- 为什么Qt QString的替换方法会改变QString?
- 如何从qt中的类中调用方法
- Qt没有这样的方法插槽
- Qt 调用具有 1 个以上参数的 java 方法
- 尝试使用 Qt 库中的 QPixmap 将图像拆分为多个块。关于他的复制方法的工作方式,我有什么不明白的吗?
- 如果其他人在等待,是否有标准的STL或QT方法可以产生互惠码,否则请保留它
- Qt. 方法显示文本() 如果我在 QStyledItemDelegate 中定义了 paint() 方法不起作用
- 无法在 QML 列表视图中调用 Qt c++ 方法
- 使用QVariant调用Qt方法
- 获取两个QList之间的交集的Qt方法是什么