На собеседовании меня попросили написать анализатор текста на Node.JS, который мог бы читать большой файл (4 ГБ) и подсчитывать, сколько раз в этом файле можно найти одну букву.Основные условия: ограничение использования ЦП до 10% и максимальное использование ОЗУ 200 МБ.
Я написал скрипт:
const fs = require('fs');
const readable = fs.createReadStream('dummy.txt', {
encoding: 'utf8',
fd: null
});
readable.on('readable', function() {
let chunk;
const letter = 'i';
let counter = 0;
const timerId = setInterval(() => {
if(null !== (chunk = readable.read(1))){
// console.log(counter);
if(chunk === letter) counter++;
} else {
console.log(counter);
clearInterval(timerId)
}
}, 0)
})
Но сейчас я не могу измерить загрузку ЦП, это всегда 0%(поскольку операции выполняются по низким ценам).
Как измерить загрузку ЦП, чтобы убедиться, что мое решение соответствует условиям задачи?
Я пытался использовать PM2, но получаю толькоИнформация ОЗУ, ЦП всегда 0%.