最近买了一个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 12 // 显示占用时间, 单位是us 13 diff = 1000000 * (end.tv_sec - start.tv_sec) + (end.tv_usec - start.tv_usec); 14 15 printf("the data length is %d\n Byte", DATA_LEN); 16 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
时间: 2024-10-10 09:55:18