首页 > 解决方案 > 为什么附加到文件比写入文件更快?

问题描述

我正在尝试不同的写入操作,并注意到追加到现有文件的速度是向文件写入相同字符串的 2 倍。这个简单的脚本运行 1000 次appendFileSyncor迭代writeFileSyncwriteFileSync需要 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();

标签: node.jsappendfilesystems

解决方案


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


推荐阅读