Я играл с node.js, и я обнаружил, что эта простая программа работает невероятно медленно, и я даже не дождался, чтобы посмотреть, сколько времени прошло через 3 минуты.
var fs = require ('fs')
var s = fs.createWriteStream("test.txt");
for (i = 1; i <= 1000000; i++)
s.write(i+"\n");
s.end()
Я экспериментировал с использованием разных значений и обнаружил, что хотя 1-112050 занимает 3 секунды, 1-112051 берет более минуты. Это внезапное падение странно. Такая же программа в python или эквивалентная оболочка script 'seq 1 112051` выполняется в разумные промежутки времени (0-2 секунды).
Обратите внимание, что это приложение node.js выполняется намного быстрее:
var fs = require('fs')
, s = []
for (var i = 1; i <= 1000000; i++) s.push(i.toString())
s.push('')
fs.writeFile('UIDs.txt', s.join('\n'), 'utf8')
Может ли кто-нибудь объяснить мне, почему node.js ведет себя так, и почему падение настолько неожиданно?