我正在开发一个项目,该项目实际上从 CSV 文件加载数据,对其进行处理,然后将其保存在磁盘上。为了快速读取 CSV 数据,我使用 Lumenworks CSV 阅读器http://www.codeproject.com/Articles/9258/A-Fast-CSV-Reader。这工作正常,直到一个限制,但当我有大小为 1GB 或更大的 CSV 时,它需要时间。有没有其他方法可以更快地读取 CSV?
问问题
1381 次
1 回答
1
没有提供很多信息......所以假设这是一个 IO 限制,您的选择是:
- 获得更快的存储 [例如 SSD、RAID]。
- 尝试压缩 - 有时压缩所花费的时间 [例如 Zip] 会在 IO 中节省倍数。
- 尝试线程 - 如果进行计算困难的计算特别有用 - 但在这种情况下可能不适合。
- 改变问题——你需要读/写一个 1GB 的文件吗?也许你可以改变数据格式[156比“156”小很多,也许你只需要处理更小的块,也许老实说花费的时间并不重要等等。
还有其他人吗?
嗯,您可以尝试缓存输出,我已经尝试过 MemoryMappedFiles 和 RAM 驱动器...您可以通过一些简单的线程来完成...虽然这可能会更快返回,但它具有巨大的风险和复杂性
于 2012-07-24T07:01:53.307 回答