Как стать автором
Обновить

Релиз node.js 0.6.0

Время на прочтение3 мин
Количество просмотров1.6K
Автор оригинала: Ryan Dahl
Вышла новая стабильная версия node.js — 0.6.0 .

Скачать (tar.gz, linux) Скачать (exe, windows)
Сайт
Документация

Поскольку это major-release, в API были внесены изменения без обратной совместимости. Если в вашем приложении/модуле перестало что-то работать — эта страница wiki поможет вам в миграции:
https://github.com/joyent/node/wiki/API-changes-between-v0.4-and-v0.6

Основные изменения, по сравнению с веткой 0.5.x:
  • Переход с libev на libuv (в основном, благодаря этому, node.js теперь работает под windows))
  • Обновление v8 с 3.1.8.25 до 3.6.6.6
  • Встроенный модуль zlib
  • Встроенный load-balancer (cluster)
  • Улучшен IPC (Inter-Process Communication): child_process.fork
  • Улучшен встроенный debugger
Для обеспечения поддержки Windows была переработана большая часть node. Были опасения, что эти изменения приведут к ухудшению производительности на UNIX системах, но все оказалось значительно лучше. Вот, например, результаты бенчмарка под Linux системой:
v0.4.12 (linux) v0.6.0 (linux)
http_simple.js /bytes/1024 5461 r/s 6263 r/s
io.js read 19.75 mB/s 26.63 mB/s
io.js write 21.60 mB/s 17.40 mB/s
startup.js 74.7 ms 49.6 ms
В http и io бенчмарках, больше — лучше. В startup, меньше — лучше. HTTP Benchmark был проведен с использованием 600 подключений с трех серверов на 10 гигабитной сети.

В предыдущей версии 0.4 мы могли запустить Node на Windows только под Cygwin. Благодаря переходу на libuv и native Windows API мы можем наблюдать значительные улучшения в скорости работы под Windows:
v0.4.12 (windows) v0.6.0 (windows)
http_simple.js /bytes/1024 3858 r/s 5823 r/s
io.js read 12.41 mB/s 26.51 mB/s
io.js write 12.61 mB/s 33.58 mB/s
startup.js 152.81 ms 52.04 ms
Мы считаем, что это неплохие результаты для промежуточного этапа, перед полной поддержкой Windows: некоторые вещи еще предстоит сделать, например, на данный момент, не существует простого способа для создания native модулей с использованием MS Visual Studio. Работа над добавлением этой и многой другой функциональности будет вестись в следующих релизах ветки 0.6.x.


Так же мы планируем значительно сократить интервалы между релизами. Следующая стабильная ветка будет ориентировочно в Январе. Со временем, мы собираемся делать релизы в соответствии с 6 недельным интервалом Google Chrome.

Спасибо всем контрибьюторам за код, тесты, документацию и bug-репорты!

Вот список изменений в v0.6.0, по сравнению с v0.5.12:

2011.11.04, Version 0.6.0 (stable)
  • print undefined on undefined values in REPL (Nathan Rajlich)
  • doc improvements (koichik, seebees, bnoordhuis, Maciej Małecki, Jacob Kragh)
  • support native addon loading in windows (Bert Belder)
  • rename getNetworkInterfaces() to networkInterfaces() (bnoordhuis)
  • add pending accepts knob for windows (igorzi)
  • http.request(url.parse(x)) (seebees)
  • #1929 zlib Respond to 'resume' events properly (isaacs)
  • stream.pipe: Remove resume and pause events
  • test fixes for windows (igorzi)
  • build system improvements (bnoordhuis)
  • #1936 tls: does not emit 'end' from EncryptedStream (koichik)
  • #758 tls: add address(), remoteAddress/remotePort
  • #1399 http: emit Error object after .abort() (bnoordhuis)
  • #1999 fs: make mkdir() default to 0777 permissions (bnoordhuis)
  • #2001 fix pipe error codes
  • #2002 Socket.write should reset timeout timer
  • stdout and stderr are blocking when associated with file too.
  • remote debugger support on windows (Bert Belder)
  • convenience methods for zlib (Matt Robenolt)
  • process.kill support on windows (igorzi)
  • process.uptime() support on windows (igorzi)
  • Return IPv4 addresses before IPv6 addresses from getaddrinfo
  • util.inspect improvements (Nathan Rajlich)
  • cluster module api changes
  • Downgrade V8 to 3.6.6.6
Теги:
Хабы:
+31
Комментарии16

Публикации

Истории

Работа

Ближайшие события