c++ - 什么是更快的阅读,ASCII 或二进制?

标签 c++ file-io iostream

我目前正在从事一个 C++ 项目,该项目涉及读取数千个 ASCII 格式的小文本文件(~20kb)。

在分析之前将所有文件转换为二进制文件是否能够显着提高性能?

最佳答案

将字符串转换为数字虽然在 cpu 周期上并不便宜,但不是问题。 I/O 涉及的开销量总是比转换大几个数量级。文件的大小也不是什么大问题,一个磁盘提供 8KB 大约和 20KB 一样快,它们都来自同一轨道上的同一簇。拥有数千个文件是一个问题,打开文件需要移动磁盘读取器磁头,而且需要很长时间。

因此,专注于减少文件数量以获得真正的 yield 。

关于c++ - 什么是更快的阅读,ASCII 或二进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5452659/

相关文章:

c++ - 奇怪的 iostream 编译错误

c++ - 我应该在我的 C++ 程序中混合使用 C 和 C++ 风格的 I/O 吗?

c++ - QNetworkReply 没有数据

c++ - 使用运算符重载添加存储在 vector 中的类对象

java - 以递归方法写入文件

objective-c - 使用 [NSBundle mainBundle] 写入文件失败

c++ - 当函数名称不带括号发送给cout时,编译器如何确定在运行时输出什么值? C++

c++ - 如何制作一个 C++ 映射容器,其中键是值的一部分?

c++ - for循环中类方法调用会被优化掉吗?

mysql - 执行 LOAD DATA LOCAL INFILE 时获取 mysql 错误代码 : 1265. 数据被列截断