Как проверить производительность большого файлового парсера в Node.JS? - PullRequest
0 голосов
/ 22 февраля 2019

На собеседовании меня попросили написать анализатор текста на 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%.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...