Сколько времени нужно для обработки больших файлов в файле node.js? - PullRequest
0 голосов
/ 13 октября 2019

Я не привык работать с большими файлами, но мне было интересно, сколько времени приблизительно занимает чтение и запись в файл node.js при использовании файлов размером 2-3 ГБ или ~ 7,5 миллионов строк.

моя текущая реализация занимает около ~ 12 минут или 737859.276мс

Я знаю, что это трудно приблизить и зависит от контекста, но я хотел убедиться, что это можно сделать быстрее.

function LogParser(filePath, outputFile, cb) {
  try {
    const rl = createInterface({
      input: createReadStream(filePath),
      crlfDelay: Infinity,
    });
    writer.pipe(createWriteStream(outputFile));
    rl.on('line', (line) => {
      // Gets line and splits it by " - " where the ip is the first value
      const IPAddress = line.split(' - ')[0];
      const locationData = lookup(IPAddress); // translate to data object with region and country and city
      const userAgentData = parser(line); // get userAgent data
      const result = {
// object with data inside
      };
      writer.write(result)
    });

    rl.on('close', () => {
      writer.end()
    });
  } catch (e) {
    throw new Error(e.message);
  }


...