【发布时间】:2015-08-25 23:37:45
【问题描述】:
我一直在从事一个涉及大型高度图 (3000x3000 ~60MB) 的项目。 .我需要做的是将数据拆分为几个 200x200 数组(其中 15x15),然后分别保存(但这次以尽可能快的格式再次加载)。我尝试过使用流(我不太擅长 C++,所以不要排除流的想法),但速度非常慢。
可能有帮助的东西(基于我在寻找答案时看到的): 高度图以文本文件 (.asc) 的形式提供,其数字写成“125.123”,但没有“”。无论数字是多少(“0.123”和“100.123”),每个条目都有三位小数。据我所知,没有负数,并且高度图的大小是事先知道的(通常是3000x3000)。
所以我的问题本质上是:
- 最好的方法是什么? (最好没有提升等,但如果它有很大帮助,那为什么不)
- 什么格式(对于 200x200 数组)可以实现最快的加载时间?
任何帮助、想法、代码或链接/文献?
【问题讨论】:
-
这在 Python 中要容易得多。为什么是 C++?
-
通常瓶颈是磁盘。加载的最佳格式通常是最小的。它们的加载速度有多快?
-
您的意思是“000.123”而不是“0.123”吗?如果不是,我不明白你的意思是 3 位小数
-
@Bharadwaj,程序的其余部分是 C++,所以使用它是有意义的。然而,这不是绝对必要的。是什么让 python 变得如此简单?
-
@tobi,我的意思是“0.123”,我的意思是小数点后面总是有三位数字。
标签: c++ arrays string file large-data