我有一个保存为文本文件的数据集,它基本上包含一行一行地存储的向量。我的矢量尺寸为10k,我有250个这样的矢量。每个向量条目都是双精度。下面是一个例子:运行Java代码时内存不足
矢量1 - > 0.0 0.0 0.0 0.439367 0.0 ..... 10K这样的条目
向量2 - > 0.0 0.0 0.0 0.439367 0.0 0.0 0.0 0.0 ..... 10K这样的条目
...
...
矢量250 - > 0.0 1.203973 0.0 0.0 0.0 ..... 10K这样的条目
现在,如果我做数学题,这要占用10K X 16字节X 250空间(假设每个向量条目是一个占用16个字节的空间),这是〜40MB的空间。但是我看到文件大小仅显示为9.8MB。我在哪里错了?
事情是我在我的Java代码中使用这些数据。我的算法的空间复杂度是O(向量X中没有条目)。即使当我通过分配4GB内存来运行我的代码时,我仍然没有足够的空间。我错过了什么?
谢谢。 Andy
不可能说没有看到代码。 – 2011-02-15 19:04:27
顺便说一句,`double`只有8个字节长,但这在很大程度上是不相关的,而我们看不到代码。 – biziclop 2011-02-15 19:06:24