gpt4 book ai didi

c - I/O 基准测试 : writing large files vs using fsync on smaller files

转载 作者:太空宇宙 更新时间:2023-11-04 04:05:14 25 4
gpt4 key购买 nike

我正在使用 I/O 基准测试来测量系统上的 I/O 性能。基准测试使用各种 i/o 原语(写入、pwrite、mmap 等)将文件写入磁盘并报告性能。该基准测试的文档指出,为了避免由于缓存的影响而出现不切实际的结果,应该编写一个至少等于系统主内存大小的文件。

我的问题是,如果您在程序中使用 fsync,它不应该在将未写入的 i/o 缓冲区刷新到磁盘时规避缓存的影响吗?我问这个是因为我们的系统有 64GB 的主内存,每次为我们的实验写入 64GB 的文件需要很长时间。如果我能写一个像 4G 或 8G 这样的小文件,测试会进行得更快。

我在示例程序中使用了 fsync 并验证了使用 fsync 时通常看不到缓存效果,但我很想知道人们怎么说,以及为什么基准测试作者没有这样做。

提前致谢。

最佳答案

你是对的; fsync()(甚至 fdatasync())在数据写入磁盘之前不应返回。

您描述的基准听起来并不特别复杂。

关于c - I/O 基准测试 : writing large files vs using fsync on smaller files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6852548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com