最近买了一个256GB的SSD固态硬盘,想测试一下写入速度,于是如下操作。

部分代码:

 1 gettimeofday(&start, NULL);
 2 int fd = open("test1.dat", O_RDWR|O_CREAT);
 3 if (fd < 0){
 4     printf("open error!\n");
 5     return 0;
 6 }
 7 lseek(fd, 0, SEEK_SET);
 8 write(fd, pData, DATA_LEN);
 9 close(fd);
10 gettimeofday(&end, NULL);
11 // 显示占用时间, 单位是us
12 diff = 1000000 * (end.tv_sec - start.tv_sec) + (end.tv_usec start.tv_usec);
13 printf("the data length is %d\n Byte", DATA_LEN);
14 printf("the difference is %ld us\n", diff);

测试一,数据大小 288,000 byte,5次取最长的时间,则写入速度约为 288000 byte / 2058us =  133.46 MB/s


 

测试二,数据大小 1,440,000 byte = 1.37MB,5次取最长的时间,则 写入速度约为 1440000 byte / 9356 us = 146.78 MB/s


 

测试三,数据大小 14,400,000 byte = 13.7MB,5次取最长时间,则写入速度约为 14400000 byte / 100234 us = 137.01MB/s

 

版权声明:本文为imapla原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/imapla/p/4159032.html