Я пишу библиотеки NodeJS, и я обычно помещаю комментарии JSDoc в код, создавая документацию.
Итак, мой код выглядит так:
/**
* Sum
* Calculates the sum of two numbers.
*
* @name Sum
* @function
* @param {Number} a The first number,
* @param {Number} b The second number.
* @return {Number} The sum of the two numbers.
*/
module.exports = function (a, b) {
return a + b;
};
Если этот script потребуется от другого узла NodeJS script, будет ли загружен комментарий в ОЗУ?
Значит, большие комментарии влияют на память как-то?
Я предполагаю, что скрипты NodeJS разобраны, а нерелевантные вещи (например, комментарии) не хранятся в памяти. Это правда?
Итак, в заключение, могут ли такие комментарии создавать какие-либо проблемы с памятью?
Примеры
Строгая функцию, комментарий также напечатан:
function foo () {
// Hello World comment
return 10;
}
console.log(foo.toString());
Вывод:
$ node index.js
function foo() {
// Hello World comment
return 10;
}
Другим примером является генерация lorem ipsum
на 2 миллиона строк, а затем в последней строке console.log(1)
.
Итак, файл выглядит так:
// long lorem ipsum on each line
// ...
// after 2 million lines
console.log(1)
Запуск script выше:
$ node run.js
FATAL ERROR: CALL_AND_RETRY_0 Allocation failed - process out of memory
Aborted (core dumped)
Это произошло на машине с 16 ГБ оперативной памяти.
Я также сравнил производительность простого файла console.log(1) с тем, у которого много комментариев:
$ time node with-comments.js
1
real 0m0.178s
user 0m0.159s
sys 0m0.023s
$ time node no-comments.js
1
real 0m0.040s
user 0m0.036s
sys 0m0.004s