【发布时间】:2016-11-22 19:12:21
【问题描述】:
我在一个文件上写了一些信息,尤其是 unsigned int。 后来另一个程序去读取这些信息。 问题是第二个程序非常慢。 我分析它,它花费 50% 的时间来做 atoi。
有没有办法在文件上写入 unsigned int 以避免 atoi (二进制?序列化?)
Ps:我使用 mmap 进行读取
编辑:
我看到您的回复,最好的解决方案是将 int 的二进制内容放入文件中
【问题讨论】:
-
尝试使用 fstream 读取格式化输入?
-
您是否通过将数据读入固定缓冲区来最小化内存分配?
-
您确实可以写入(和读取)
unsigned int的二进制表示。 -
向我们展示缓慢的代码。您拨打
atoi的频率可能超出了您的实际需要,或者做了一些糟糕的事情。
标签: c++ string file c++11 serialization