gpt4 book ai didi

c++ - 在 HD 中进行数据密集型读写的最佳做法是什么?

转载 作者:可可西里 更新时间:2023-11-01 17:35:55 32 4
gpt4 key购买 nike

我正在开发一个 C++ 应用程序(在 Linux 机器上运行),它非常注重读取日志文件并将派生结果写入磁盘。我想知道哪些是优化此类应用程序的最佳实践:

  • 哪些操作系统调整可以提高性能?
  • 哪些编程模式可以提高 IO 吞吐量?
  • 预处理数据(转换为二进制、压缩数据等)是否有用?
  • 分块/缓冲数据是否有助于提高性能?
  • 我应该注意哪些硬件功能?
  • 哪些做法最适合分析和衡量这些应用程序的性能?
  • (在这里表达我所缺少的关注)

是否有好的读物可以让我了解这方面的基础知识,以便我可以根据我的问题调整现有的专业知识?

谢谢

最佳答案

压缩肯定会有很大帮助,而且比调整操作系统要简单得多。查看 Boost.IOStreams 中的 gzipbzip2 支持图书馆。不过,这会对处理器造成影响。

测量这些类型的作业从 time 命令开始。如果系统时间与用户时间相比非常高,那么您的程序将花费大量时间进行系统调用。如果挂钟(“实时”)时间比系统和用户时间高,则它正在等待磁盘或网络。 top 命令显示程序的 CPU 使用率明显低于 100%,这也是 I/O 瓶颈的标志。

关于c++ - 在 HD 中进行数据密集型读写的最佳做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4794922/

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