【发布时间】:2010-08-03 21:59:32
【问题描述】:
解析存储在 ASCII 中的大型浮点文件的最佳方法是什么?
最快的方法是什么?我记得有人告诉我使用 ifstream 不好,因为它只处理少量字节,最好先将文件读入内存。真的吗?
编辑:我在 Windows 上运行,文件格式适用于存储在 x y z r g b 等行中的点云。我正在尝试将它们读入数组。此外,每个文件大约 20 MB,但我有大约 10 GB。
第二次编辑:每次我想要进行可视化时,我都必须加载要显示的文件,所以尽可能快地拥有它会很好,但老实说,如果ifstream 执行合理,我不介意坚持使用可读的代码。它现在运行速度很慢,但这可能更多的是硬件 I/O 限制,而不是我在软件中可以做的任何事情,我只是想确认一下。
【问题讨论】:
-
你的意思是一个包含很多浮点数的大文件吗?
-
“最佳”并不总是意味着“最快”。
-
文件有多大?您是否已经制定了一个不够快的例行程序?
-
您应该发布文件格式的详细信息。这可能会影响答案的正确性。
-
我想你会对本文末尾的统计数据感兴趣:codeproject.com/KB/recipes/Tokenizer.aspx
标签: c++ parsing file-io io ifstream