C++风格与C风格文件读写效率测试-vs2015,vs2017
C++风格与C风格文件读写效率测试-vs2015,vs2017
1 void test_write() 2 { 3 const int TEST_SIZE = 100000000; 4 const char* c_plus_write_file = "H://c_plus_write_file.txt"; 5 const char* c_write_file = "g://c_write_file.txt"; 6 7 cout << "Test size :" << TEST_SIZE << endl; 8 //c++ style writing file 9 ofstream of(c_plus_write_file); 10 //assert(of); 11 time_t start, end; 12 start = clock(); 13 for (int i = 0; i < TEST_SIZE; ++i) 14 { 15 char tmp[1]; 16 tmp[0] = char(i); 17 of.write(tmp, 1); 18 } 19 end = clock(); 20 of.close(); 21 cout << "C++ style: " << end - start << " ms" << endl; 22 //c style writing file 23 FILE* fp; 24 fopen_s(&fp, c_write_file, "w"); 25 start = clock(); 26 for (int i = 0; i < TEST_SIZE; ++i) 27 { 28 char tmp[1]; 29 tmp[0] = char(i); 30 fwrite(tmp, 1, 1, fp); 31 } 32 end = clock(); 33 fclose(fp); 34 cout << "C style: " << end - start << " ms" << endl; 35 cin.get(); 36 } 37 38 //机器配置: 39 //vs2015,vs2017 40 //intel(R)Core(TM)i7-6700HQ CPU@2.6GHZ 2.59GHZ 41 //16.0GB内存 64位操作系统 42 //测试结果:BUF_SIZE越大,C++与C风格时间差越大,数据如下: 43 //BUF_SIZE= 1000: c++平均90ms c平均80ms 44 //BUF_SIZE= 100000000: c++平均70ms c平均30ms 45 //这是读取测试,对于写入操作二者相关则更显著:BUF_SIZE= 100000000: c++平均25秒 c平均20秒 46 void test_read() 47 { 48 const char* read_file = "g://c_write_file.txt"; 49 const int BUF_SIZE = 100000000; 50 //char buf[BUF_SIZE]; 51 char* buf = new char[BUF_SIZE]; 52 time_t start, end; 53 54 //c style writing file 55 FILE* fp = fopen(read_file, "rb"); 56 assert(fp); 57 start = clock(); 58 int len = 0; 59 do 60 { 61 len = fread(buf, 1, BUF_SIZE, fp); 62 //cout<<len<<endl; 63 } while (len != 0); 64 end = clock(); 65 fclose(fp); 66 cout << "C style: " << end - start << " ms" << endl; 67 68 //c++ style writing file 69 ifstream ifs(read_file, ios::binary); 70 assert(ifs); 71 start = clock(); 72 while (!ifs.eof()) 73 { 74 ifs.read(buf, BUF_SIZE); 75 } 76 end = clock(); 77 ifs.close(); 78 cout << "C++ style: " << end - start << " ms" << endl; 79 80 delete[] buf; 81 cin.get(); 82 }
posted on 2018-02-17 10:59 时空观察者9号 阅读(...) 评论(...) 编辑 收藏
C++风格与C风格文件读写效率测试-vs2015,vs2017相关推荐
- Jedis 读写效率测试 hgetAll hmset
测试结果: 1.redis使用三种方式 1)单 Jedis 读写1条命令,读写玩即close() 2) 单Jedis读写多条命令,此种情况尝试不释放Jedis连接,由于Jedis本质是tcp长连接,需 ...
- 读取parquet_parquet文件读写本地测试
根据这里的代码,修改了bug,完善了parquet嵌套型数据的读写,以及hdfs的本地模拟. package com.test.parquet; import org.apache.hadoop.co ...
- Ext2文件系统—文件读写
1.定义 只有在"打开"了文件以后,或者说建立了进程与文件的"连接"之后,才能对文件进行读写.为了提高效率,Linux的读写操作都是带缓冲的,即写的时候先写到缓 ...
- 【Python 基础教程 20】全面掌握Python3输入输出:从入门到高级的实用指南(文件读写,Excel读写,Markdowm文件读写)
目录标题 1. 简介 1.1 Python3 输入输出的定义 1.2 输入输出的重要性和常见应用场景 2. 标准输入输出 2.1 介绍标准输入(stdin) 2.2 介绍标准输出(stdout) 2. ...
- Java之文件流操作的文件读写
Java之文件流操作的文件读写 本人非常喜欢Java的代码风格,今天记录一下文件字符串的读写,但是Java对于 制作exe文件非常不友好,而本人业务的要求,基本上都是制作exe文件,或者程序,Java ...
- c语言把字符串写入文件,c语言文件读写 | 按字符,按行,按块
按字符对文件读写 fopen(char *,r+):打开文件 fputc("c",FILE *fp):把字符写到fp文件中 tempc = fgetc(FILE *fp):从fp中 ...
- CFile和CStdioFile的文件读写使用方法
CFile //创建/打开文件 CFile file; file.Open(_T("test.txt"),CFile::modeCreate|CFile::modeNoTrunca ...
- 使用FileSystem类进行文件读写及查看文件信息
使用FileSystem类进行文件读写及查看文件信息 在这一节我们要深入了解Hadoop的FileSystem类--这是与与hadoop的文件系统交互的重要接口.虽然我们只是着重于HDFS的实现,但我 ...
- VC文件读写操作总结
From:http://www.xiaozhou.net/ReadNews.asp?NewsID=248 各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到 ...
最新文章
- 两个向量组的秩相等说明什么_解析几何初步:向量与坐标(一)
- java length()函数_小猿圈介绍java函数式编码结构及优势
- CNN中的卷积操作的参数数计算
- 如何使用异步Servlet来提高性能
- mysql 单标递归_MySql8 WITH RECURSIVE递归查询父子集的方法
- typeof 数据类型转换
- 前端开发面试题集锦(一)
- 【Day01】你有封装过 axios 吗?主要是封装哪些方面?如何中断 axios 请求?
- matlab图像分类器,Matlab 基于svm的图像物体分类
- android rsa解密前面带乱码,C#rsa解密的解出来的结果乱码
- 全日制计算机大专学校有哪些科目,全日制大专报名_实时汇总
- Windows 10 预览版安装
- 如何查看excel中的vba代码
- SQL Server 2012 安装图解教程(附sql2012下载地址)
- MySQL批量插入(使用mybatis实现mysql数据库的批量插入操作)
- 信息系统项目管理师计算题(进度管理总浮动时间、自由浮动时间、工期)
- vscode如何设置大小写转换的快捷键
- freyja将重新把重心放在orm、sharding、cache上
- WORD无法复制文件:无法读源文件或磁盘
- 树莓派 android10,树莓派4使用AndroidTV 10系统