我正在研究一个数学问题,它的优势是能够“预先计算”大约一半的问题,将此信息保存到文件中,然后多次重复使用它来计算我的问题的各种“实例”。困难在于上传所有这些信息以解决实际问题是一个主要瓶颈。
更具体地说:我可以预先计算大量信息——大量的long double
概率std::map<int,int>
(
我的程序的后半部分接受输入参数D。对于每个D,我需要执行大量计算,这些计算涉及预先计算的数据(来自文件)和一些特定于D的其他数据的组合(因此每个D的问题都不同)。
有时我需要从文件中挑选出某些预先计算好的信息。其他时候,我需要上传(大)文件中的每条数据。
有没有让 IO 更快的策略?
boost::mpi
由于其他原因,我已经将程序并行化(MPI,via ),但无论如何,访问磁盘上的文件会使我的计算时间难以忍受。
有什么策略或优化吗?
目前我正在做所有事情cstdio
,即没有iostream
。这会有很大的不同吗?