我的任务是将小部分数据写入频繁并保证文件。这是一种日志记录系统,它必须提供保证数据保存到磁盘的安全性和速度。我发现刹车出现在Flush()函数中太频繁地调用。所以,我决定摆脱它。有什么办法可以加快频繁的文件写操作吗? CFile
我使用了标志,即禁止缓冲和缓存数据(osNoBuffer和writeThrough)。在此之后,据我所知,我可以执行文件I/O操作(将数据写入文件)而不使用flush()? 另一个问题。我如何理解数据肯定是写入磁盘而没有缓存和缓存? 这是赖特的方式来做我想要的,或者可能是加快频繁的文件写入操作的另一种方式?
如果想要在函数返回之前将位写入磁盘,那会导致一些性能下降。你试图达到什么样的信心水平? – 2010-10-12 06:14:36
我写了测试程序,将文本数据写入文件。如果我使用flush,性能大约是50次刷新(每次刷新刷新512字节)/不刷新,直接写入磁盘 - 秒写入5000次。它快100倍。如果我使用这个flasg,我可以计数,我的所有数据都立即写入磁盘而无需调用flush()? – yurart 2010-10-12 07:24:46