背景】关于项目读写文件数据,尤其时读写大数据时,特别费时,今天做了个测试

【资源大小】91.2MB的数据

out数据

【方法】

C++:

采用ofstream

Qt:

采用QFile+QTextStream

C++写入数据

     QTime m_time;ofstream ofs("D:/Projects/01-Sar/Sar/Sar/textC++.txt");m_time.start();for (int i = 0; i < row; i++){for (int j = 0; j < col; j++){data[i][j] = sqrt(chirp[i][j].real * chirp[i][j].real + chirp[i][j].img *chirp[i][j].img);         ofs << data[i][j] << ' ';//每个数据之间留有空格}ofs << endl;//换行}qDebug() << m_time.elapsed()/1000.00 << "s";

 耗时:

C++写入数据耗时长度

从上面的输出框打印可以得到耗时64.701s,已经相当长时间。

Qt写入数据

    QTime m_time;QFile file("D:/Projects/01-Sar/Sar/Sar/textQTestStream.txt");if (!file.open(QIODevice::ReadWrite| QIODevice::Text))return;QTextStream txtOut(&file);m_time.start();for (int i = 0; i < row; i++){for (int j = 0; j < col; j++){data[i][j] = sqrt(chirp[i][j].real * chirp[i][j].real + chirp[i][j].img *chirp[i][j].img);           txtOut << data[i][j] << ' ';}txtOut << endl;}qDebug() << m_time.elapsed()/1000.00 << "s";

耗时:

Qt写入数据耗时长度

总结:

对于耗时数据的读写操作,建议使用内存映射的方法:

可参考文章:

C/C++数据读写操作耗时比较:https://blog.csdn.net/Aidam_Bo/article/details/84320863

内存映射方法的使用:https://blog.csdn.net/Aidam_Bo/article/details/84317741

C++/Qt文件写入读取速度比较相关推荐

  1. java 文件写入 读取_JAVA文件的两种读取方法和三种写入方法

    在使用java对文件进行读写操作时,有多种方法可以使用,但不同的方法有不同的性能. 此文对常用的读写方法进行了整理,以备不时之需. 1.文件的读取 主要介绍两种常用的读取方法.按行读取和按字符块读取. ...

  2. qt文件逐行读取_QT平台文件逐行读取和字符串规律输出练习

    QT平台文件逐行读取和字符串规律输出练习 练习要求 逐行读取指定文件里的字符串,把字符串转换后进行输出,转换要求为十个字符为一组,偶数组(0,2-)为为非数字,奇数组(1,3-)是为数字.非数字用完, ...

  3. Linux文件写入读取与关闭(二)

    文件的写入 //文件写入所需的头文件 #include <unistd.h> write() 文件写入函数 //write()函数原型 ssize_t write(int fd, cons ...

  4. CLion C++开发QT ,串口通信,JSON文件写入读取,CRC-16校验,图片转二进制(qrc转rcc)并将项目打包exe可执行文件。

    前言: QT自带的编译器非常不好用.今天给大家介绍一款很方便强大的QT开发工具CLion. QT的下载配置安装,网上很多教程,就不介绍了. QT 串口通信,接收下位机消息,发送消息给下位机. QT J ...

  5. 数据库读取速度与文件IO读取速度比较

    记下 DB 存取与文件存取的差异 本文来源于之前做的一个小程序科技爱好者周刊在文章数据存储上的技术选型思考. 当时想着后期把文章 markdown 文件内容迁移到云数据库通过云函数查询出来显示.后来想 ...

  6. qt文件逐行读取_qt读取txt文件并绘图 qt逐行读取txt文件

    qt中怎么把txt文件读入并存入二维数组? Fopen函数打开要读取的文本,获取文件的文件描述符,并使用fscan()函数读取文件.把它放在二维数组中,就是读取相应格式的数据,然后对应二维数组的每个位 ...

  7. C文件 写入 读取 函数

    1.C写入文件函数 #include<stdio.h> main() {  FILE *f;  f=fopen("wenzhang.txt","w" ...

  8. python提高文件读取速度_Python提高了HDF5文件的读取速度

    我正在构建一个存储财务数据的数据库(特别是选项链) . 我每天检索每个交易日的数据,即5d /周或250d /年 . 我这样做了300个代码,数据库正在以150Mb /天的速度增长,到目前为止达到了9 ...

  9. Java:文件写入读取操作和工具类

    文件读写示例 package com.demo;import java.io.*; import java.util.ArrayList; import java.util.List; import ...

最新文章

  1. 【LeetCode】136. Single Number 解题小结
  2. Linux的判断命令
  3. track文件 什么是git_Git 从入门到放弃命令大全
  4. 我发起了一个 .Net Core 平台上的 分布式缓存 开源项目 ShareMemory 用于 取代 Redis...
  5. 3.前端下载excel文件功能的三种方法
  6. 斜齿轮重合度计算公式_斜齿齿轮传动中重合度计算的探讨
  7. android 调色板,所不了解的Android调色板
  8. 解决验证码不显示问题
  9. mac居家办公怎么连接公司内网,用tunnelblick
  10. 1万元!TP-Link发布Wi-Fi 7挖矿路由器:比RTX 4090快得多
  11. 路由算法之——ECMP算法
  12. MATLAB计算英文符号信源熵,基于matlab的英文文本信息量的统计-正确.doc
  13. 【ORACLE】各种数据类型
  14. 3.1 详细讲解直线段工具 [Illustrator CC教程]
  15. php调起淘宝app授权登录,PHP实现苹果第三方授权登录
  16. Excel工作表保护,怎么撤销保护
  17. 剑就是剑,木剑铜剑没有差别
  18. MSDN网站 浏览器打不开
  19. 昊鼎王五:Windows运行中的所有命令_Windows快捷命令_运行中的所有命令
  20. verilog学习:加法器

热门文章

  1. verilog实现多周期处理器之——(零)GUN工具链的安装
  2. Verilog实现交通灯(数电课设)-----新--及对于状态机的理解
  3. [搬运] mac下安装GDB
  4. [视频]MAC中如何单独放大文本字体
  5. Asp.Net无刷新分页( jquery.pagination.js)
  6. 文档处理工具库——Apache POI的使用
  7. python读写excel表格_Python读写Excel表格(简单实用)
  8. 2020-08-03 手动编译Qt库(msvc2019版本)
  9. c语言贪吃蛇源代码window32,Win32贪吃蛇源代码。背景非常简单
  10. Arcgis javascript那些事儿(十六)——GP服务的发布与使用