【发布时间】:2012-01-20 17:54:44
【问题描述】:
我有一个巨大的100,000x100,000matrix(txt 文件),我用它来计算遗传算法中染色体的适应度。我的人口规模是 100,世代规模是 1000。所以我正在阅读这个文件 100,000 次。
GA 是用C 写的,我不熟悉C。在C 中读取此矩阵文件的有效方法是什么?有没有其他方法可以优化这个。
谢谢。
Edit:
对不起,它是一个 100,000 X 100,000 的矩阵文件。我无法将其保存在内存中,因为它需要大约 37GB。我想在每次需要时阅读。
【问题讨论】:
-
最近有一个关于类似主题的问题:stackoverflow.com/questions/8945059/… 你也会对strtok 和atof 感兴趣。
-
我希望你有很多内存,假设你使用 32 位整数,100 个矩阵副本将占用 40GB 内存。
-
你为什么要阅读它 100,000 次?文件是否在两次读取之间修改?
-
@han:嗯,把那么多钱花在一个可以通过简单地使用正确的软件方法来解决的问题上似乎相当...浪费和不必要的。
-
@DarkDust:我同意你的观点,但如果这是一个真正的业务问题(或资金充足的研究项目中的次要问题),那么不应排除硬件选项。
标签: c file optimization file-io matrix