node.js - 为什么追加到文件比写入文件更快?

标签 node.js append filesystems

我正在尝试不同的写入选项,并注意到 append 到现有文件的速度比将相同字符串写入文件的速度快 2 倍。这个简单的脚本运行 appendFileSyncwriteFileSync 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/

相关文章:

node.js - 使用 WebStorm 设置 MEAN.io

python - 在不 reshape 的情况下将多维元素 append 到 numpy 数组中

filesystems - 扩展文件系统上的日志在哪里?

javascript - 访问 API JSON 响应值

javascript - 为nodejs中的一系列 promise 添加延迟或 sleep

python - 性能:Python pandas DataFrame.to_csv append 逐渐变慢

mysql - sql 中的右侧 Alt 移位

perl - 在 Windows 上以 unicode 名称打开文件夹中的文件

linux - 从文件中读取零长度

node.js - heroku node.js bash : node: command not found