SSD(ソリッドステートドライブ)に大量のデータを書き込もうとしています。そして、膨大な量で私は80GBを意味します。
私は解決策を求めてウェブを閲覧しましたが、私が思いついた最高のものはこれでした:
#include <fstream>
const unsigned long long size = 64ULL*1024ULL*1024ULL;
unsigned long long a[size];
int main()
{
std::fstream myfile;
myfile = std::fstream("file.binary", std::ios::out | std::ios::binary);
//Here would be some error handling
for(int i = 0; i < 32; ++i){
//Some calculations to fill a[]
myfile.write((char*)&a,size*sizeof(unsigned long long));
}
myfile.close();
}
Visual Studio 2010と完全な最適化を使用してコンパイルされ、Windows7で実行されるこのプログラムは、最大で約20MB/秒です。本当に気になるのは、Windowsが他のSSDからこのSSDに150MB/秒から200MB/秒の間でファイルをコピーできることです。したがって、少なくとも7倍速くなります。そういうわけで私は私がより速く行くことができるべきだと思います。
どうすれば文章をスピードアップできるか考えていますか?