我正在尝试不同的写入选项,并注意到 append 到现有文件的速度比将相同字符串写入文件的速度快 2 倍。这个简单的脚本运行 appendFileSync
或 writeFileSync
1000 次迭代。 writeFileSync
需要 150 毫秒,而 appendFileSync
仅需要 70 毫秒。
是什么让 append 比写入更快?
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();
最佳答案
每次调用 writeFileSync 时,如果文件不存在,它都会创建一个新文件;如果存在,则会替换它。替换文件比仅将数据添加到现有文件需要更长的时间。
关于node.js - 为什么追加到文件比写入文件更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56602571/