我正在尝试不同的写入方式,并注意到追加到现有文件的速度是向该文件写入相同字符串的两倍。这个简单的脚本运行appendFileSync
或writeFileSync
的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();
答案 0 :(得分:0)
每次调用writeFileSync时,如果一个不存在,它将创建一个新文件;如果一个存在,则将替换它。替换文件比将数据添加到现有文件要花费更多的时间。