gpt4 book ai didi

c++ - 使用 zlib 优化文件写入?

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

我分析了我的应用程序,显然我的应用程序有 37% 的时间在 ostream::write 中。不到 7% 实际上是在压缩它(deflate_slow 是它给我的函数名称)。

如何使用 zlib 优化文件 IO?我应该编写自己的 fopen/fwrite/fread/fclose 包装器吗?是否存在包装器?我可以用缓冲区大小做些什么吗(我希望它大一点)。我可以做些什么来提高写作速度?

最佳答案

首先,检查 ostream::write 是否被低效调用。根据您的平台,您应该使用:

  • Windows:procmon.exe(来自 SysInternals Suite)
  • Linux:strace
  • Solaris:ktruss
  • NetBSD:ktrace

检查是否有很多调用 WriteFile (Windows) 或 write (POSIX-like) 只写入几个字节,即少于 100。如果你不能找到这些,它可能对编写包装器没有帮助。

上述工具还可以衡量您是否在操作系统内核或用户代码中浪费时间。这应该会提示您可以在哪些方面提高性能。

关于c++ - 使用 zlib 优化文件写入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6228036/

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