为什么附加到文件的速度比写入文件的速度快?

时间:2019-06-14 17:09:18

标签: node.js append filesystems

我正在尝试不同的写入方式,并注意到追加到现有文件的速度是向该文件写入相同字符串的两倍。这个简单的脚本运行appendFileSyncwriteFileSync的1000次迭代。 writeFileSync花费150毫秒,而appendFileSync仅花费70毫秒。

是什么使追加比编写更快?

   function writeTest(){
        let start = new Date().getTime();
        for (let index = 0; index < 1000; index++) {
            fs.writeFileSync('db', 'muc,10'); // or fs.appendFileSync("db","muc,10")
        }
        let end = new Date().getTime();
        console.log(end-start);

    }
    writeTest();

1 个答案:

答案 0 :(得分:0)

每次调用writeFileSync时,如果一个不存在,它将创建一个新文件;如果一个存在,则将替换它。替换文件比将数据添加到现有文件要花费更多的时间。