我需要获得更好的批量写入性能,这是通过将分区和格式化的SSD设备与ext4文件系统一起使用来实现的。当我用dd命令进行基准测试时,我得到了20%的改进
time dd if=/dev/zero of=/dev/sdb count=1024 bs=1048576
Run Code Online (Sandbox Code Playgroud)
相比于
time dd if=/dev/zero of=/mnt/test.img count=1024 bs=1048576 && sync
Run Code Online (Sandbox Code Playgroud)
/ mnt是我挂载的/ dev / sda1。
假设硬盘专用于我的应用程序并且可以为其设置权限,是否可以仅从C ++应用程序中打开/ dev / sda并将其用作普通文件?我的意思是,从头开始写入数据,然后再次打开并读取:
ofstream myfile;
myfile.open ("/dev/sda");
myfile << "Writing this to a file.\n";
myfile.close();
Run Code Online (Sandbox Code Playgroud)
然后以相同的精神重新打开并阅读。如果不清楚我写的结尾在哪里,我可以自己写数据标记的结尾。
我认为是的,因为它的行为类似于文件。但是,我想检查一下是否没有重大的隐藏问题。