NodeJS буферизуется appendFileSync?

Является ли функция appendFileSync буферизованной. Например, если я выполню 1000 вызовов функции с несколькими символами, которые нужно записать, будет ли функция буферизовать мои символы и фактически записывать в файл только тогда, когда буфер заполнен, или она будет записывать в файл каждый раз, когда я вызываю функция?

Мне любопытно узнать, нужно ли мне реализовать для него буферизацию или она уже встроена.

🤔 А знаете ли вы, что...
Node.js поддерживает платформу Event Loop, что обеспечивает высокую производительность при обработке запросов.


14
1

Ответ:

Решено

Согласно исходный код, поток, применяемый при использовании appendFileSync, следующий:

- appendFileSync
  - writeFileSync
    - openSync
    - writeSync
    - closeSync

При условии, что файл открывается и закрывается каждый раз, он не использует логику буферизации и каждый раз будет записывать данные непосредственно на диск.

Обновлено: после более тщательного изучения выясняется, что если вы сами предоставите дескриптор файла, он не откроет и не закроет файл для вас, поэтому в этом случае это может быть то, что вы ищете.