使用zlib优化文件写入
optimizing file writes with zlib?
我分析了我的应用程序,显然我的应用中37%的时间都在ostream::write中。只有不到7%的人在压缩它(deflate_slow是它给我的函数名)。
如何使用zlib优化文件IO?我应该写我自己的fopen/fwrite/frad/flose包装吗?存在包装器吗?我能对缓冲区的大小做点什么吗(我想要大一点)。我能做些什么来使写作更快?
首先,检查ostream::write
的调用是否无效。根据您的平台,您应该使用:
- Windows:
procmon.exe
(来自SysInternal Suite) - Linux:
strace
- Solaris:
ktruss
- NetBSD:
ktrace
检查是否有许多对WriteFile
(Windows)或write
(类似POSIX)的调用只写几个字节,即小于100。如果找不到这些,编写包装器可能没有帮助。
上述工具还可以衡量您是在操作系统内核中还是在用户代码中浪费时间。这应该会给你一个可以在哪里提高性能的提示。
相关文章:
- C++ 尝试优化每一帧将数据打印到二进制文件
- 优化从文件加载QImage
- 删除编译器优化并在发布中启用 pdb 文件
- 在 C++ 优化中合并大型二进制文件
- 使用LTO静态链接的可执行文件(链接时间优化):如何使用以前构建的库进行制作
- 在 c++ 中从 txt 文件中提取条目的代码优化问题
- 将多个文件传递给C/C 编译器允许进行概要优化
- C :如何优化复制.txt文件的其余部分
- -O2 优化不会在读取大文件时出圈
- 优化.txt文件的创建速度
- 标志以将IPDB和IOBJ文件从链接时间代码生成优化(LTCG)移动
- 优化文件读数C
- 如何使用objdump在高度优化的对象文件中交错源代码
- 我可以为visualstudio2010中的一些文件打开优化器吗
- 如何优化c++二进制文件读取
- 如何优化C++逐行读取文件到向量中
- 编译器是否会优化未使用的链接文件
- 可靠地使用C++小字符串优化将短 std::字符串从文件转移到内存中
- 包含.cpp文件而不是 .h 文件以使原版 gcc 能够进一步优化我的代码是个好主意
- 对多个目标进行文件优化