C ++ fstream写入文件非常慢

C++ fstream writing to file very slow

我的游戏中有一个由图块组成的 2D 世界。每当我创建一个新世界时,我都会初始化一个包含 4800 万个瓷砖的数组

short worldGrid[48000000];

我设置了所有 4800 万的值,然后我将这些值写入这样的文件中:

    std::fstream save("game_save", std::fstream::out);

    for (int x = 0; x < 48000000; x++)
    {

        save << world.worldGrid[x];
        save << " ";

    }
    save.close();

4800万个值,每个2字节。所以 9600 万字节,或 96 兆字节。我的问题是,仅 for 循环内的这个过程在我的 SSD 上就需要 2 分钟才能完成。我觉得将 96mb 的数据写入此文件不应该花费 2 分 5 秒。如果有人有任何建议,我将不胜感激。

尝试一次写入所有数组,而不是一次写入 2 个字节.. 类似于:

 save.write(world.worldGrid, sizeof(worldGrid));

the docs