The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск серверной JavaScript-платформы Node.js 12.0

23.04.2019 21:59

Доступен релиз Node.js 12.0.0, платформы для выполнения сетевых приложений на языке JavaScript. Node.js 12.0 относится к веткам с длительным сроком поддержки, но данный статус будет присвоен только в октябре, после проведения стабилизации. Обновления для LTS-веток выпускаются в течение 3 лет. Поддержка прошлой LTS-ветки Node.js 10.0 продлится до апреля 2021 года, а позапрошлой LTS-ветки 8.0 до января 2020 года. Поддержка промежуточной ветки Node.js 11.0 будет прекращена в июне 2019 года. Время жизни LTS-ветки 6.0 завершится 30 апреля.

Из улучшений в Node.js 12.0 отмечается (дополнено после публикации разработчиками развёрнутого обзора):

  • Обновление движка V8 до версии 7.4 с поддержкой асинхронных трассировок стека, увеличением производительности await, парсинга JavaScript и вызовов при несоответствии фактического и заявленного числа аргументов;
  • Поддержка TLS 1.3 в модуле tls и отключение по умолчанию TLS 1.0/1.1;
  • Усиление защиты и проверок размера выделяемой памяти в классе Buffer;
  • Усиление проверок аргументов в модулях child_process, fs и assert;
  • Удаление устаревших обработчиков в модуле crypto;
  • Перевод модуля http по умолчанию на парсер llhttp;
  • Перевод lib на использование стиля ECMAScript 6 при наследовании классов;
  • Экспериментальная поддержка модулей ECMAScript 6;
  • Изменение ограничений на размер кучи в JavaScript, которые теперь выбираются в зависимости от размера ОЗУ, а не задаются фиксировано;
  • Улучшение поддержки нативных модулей (на C/C++) в комбинации с Worker-потоками и N-API v4 для упрощения использования собственных потоков с асинхронными функциями на C/C++;
  • Упрощение использования API Worker Threads, для которого теперь не нужно выставлять флаг включения экспериментальной функции;
  • Добавление экспериментальной возможности генерации на лету диагностических отчётов, в которых отражаются события, помогающие диагностике таких проблем как крахи, падение производительности, утечки памяти, большая нагрузка на CPU, непредвиденный вывод ошибок и т.п.
  • Реализация команды для сохранения дампа с состоянием кучи для последующего анализа проблем с распределением памяти;
  • Ускорение запуска за счёт задействования встроенного кэша со скомпилированным кодом JavaScript-библиотек. Если раньше кэш заполнялся по мере работы, то теперь его содержимое для встроенных в Node.js библиотек генерируется на этапе сборки и привязывается к исполняемому файлу. Новая модель заполнения кэша позволила приблизительно на 30% сократить время запуска основного потока;
  • Повышены требования к платформе и версиям компилятора: для сборки теперь требуется как минимум GCC 6 и glibc 2.17 на платформах, отличных от macOS и Windows. Из совместимых дистрибутивов заявлены Enterprise Linux 7, Debian 8 и Ubuntu 14.04. При работе в Windows требуется как минимум Windows 7, 2008 R2 или 2012 R2 и Visual Studio 2017, а в macOS - macOS 10.10 "Yosemite" и Xcode 8.

Напомним, что платформа Node.js может быть использована как для серверного сопровождения работы Web-приложений, так и для создания обычных клиентских и серверных сетевых программ. Для расширения функциональности приложений для Node.js подготовлена большая коллекция модулей, в которой можно найти модули с реализацией серверов и клиентов HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, модули для интеграции с различными web-фреймворками, обработчики WebSocket и Ajax, коннекторы к СУБД (MySQL, PostgreSQL, SQLite, MongoDB), шаблонизаторы, CSS-движки, реализации криптоалгоритмов и систем авторизации (OAuth), XML-парсеры.

Для обеспечения обработки большого числа параллельных запросов Node.js задействует асинхронную модель запуска кода, основанную на обработке событий в неблокирующем режиме и определении callback-обработчиков. В качестве способов мультиплексирования соединений поддерживаются такие методы, как epoll, kqueue, /dev/poll и select. Для мультиплексирования соединений используется библиотека libuv, которая является надстройкой над libev в системах Unix и над IOCP в Windows. Для создания пула потоков (thread pool) задействована библиотека libeio, для выполнения DNS-запросов в неблокирующем режиме интегрирован c-ares. Все системные вызовы, вызывающие блокирование, выполняются внутри пула потоков и затем, как и обработчики сигналов, передают результат своей работы обратно через неименованный канал (pipe). Выполнение JavaScript-кода обеспечивается через задействование разработанного компанией Google движка V8 (дополнительно Microsoft развивает вариант Node.js с движком Chakra-Core).

По своей сути Node.js похож на фреймворки Perl AnyEvent, Ruby Event Machine, Python Twisted и реализацию событий в Tcl, но цикл обработки событий (event loop) в Node.js скрыт от разработчика и напоминает обработку событий в web-приложении, работающем в браузере. При написании приложений для node.js необходимо учитывать специфику событийно-ориентированного программирования, например, вместо выполнения "var result = db.query("select..");" с ожиданием завершения работы и последующей обработкой результатов, в Node.js использует принцип асинхронного выполнения, т.е. код трансформируется в "db.query("select..", function (result) {обработка результата});", при котором управление мгновенно перейдёт к дальнейшему коду, а результат запроса будет обработан по мере поступления данных. Ни одна функция в Node.js не должна напрямую выполнять операции ввода/вывода - для получения данных с диска, от другого процесса или из сети требуется установка callback-обработчика.

  1. Главная ссылка к новости (https://nodejs.org/en/blog/rel...)
  2. OpenNews: Выпуск серверной JavaScript-платформы Node.js 11.0
  3. OpenNews: Выпуск сервера приложений NGINX Unit 1.5 с поддержкой Node.js
  4. OpenNews: Бэкдор в зависимости к event-stream, популярной библиотеке для Node.js
  5. OpenNews: Выпуск серверной JavaScript-платформы Node.js 10 и пакетного менеджера NPM 6
  6. OpenNews: Выпуск серверной JavaScript-платформы Node.js 9.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/50562-node.js
Ключевые слова: node.js, javascript
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (46) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Мр.Троллоло (?), 22:10, 23/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –12 +/
    > платформы для выполнения высокопроизводительных сетевых приложений на языке JavaScript

    Это юниксвей? Кто подскажет?

     
     
  • 2.8, Аноним (8), 23:52, 23/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Думаю, в контексте юниксвейности можно рассматривать эту хрень как ещё один интерпретатор ещё одного динамического языка. Чем это глобально отличается от Питона там или Руби? Если Питон или Руби юниксвейны, то и этот тоже, думаю... Если же существует какая-то глубинная разница и кто-то её  пояснит, то я буду весьма благодарен.
     
     
  • 3.21, Аноним (21), 10:21, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Основная фишка это ставка на асинхронность чего в Python завезли сравнительно недавно и реализовано это крайне костыльно. Пока там в Python все будут переписывать в Node уже все готово и работает.
     
     
  • 4.24, _hide_ (ok), 10:31, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Асинхронность без мультипоточности?
     
     
  • 5.32, Аноним (32), 13:05, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Один работник почты обслуживающий 3 очереди :)
     
  • 5.38, Аноним (38), 23:36, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Там пул потоков для ввода/вывода, но он скрыт за eventloop-ом.
     
     
  • 6.50, _hide_ (ok), 09:51, 07/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Там пул потоков для ввода/вывода, но он скрыт за eventloop-ом.

    Понятно, это не один работник почты на 3 окна, а 3 работника в одном окошке :-)

     
  • 3.34, Andrey Mitrofanov (?), 13:12, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • –5 +/
    >Если Питон или Руби юниксвейны, то и этот тоже,
    > думаю...

    Постой.  Прекрати повторять это слово

    #>юниксвейны,

    и немедленно дай нам определение.

    А то от повторений и повторений, и повторений... во рту образуется

    вкус слова "пустобрёх".

    Пойду хлебну чего, освежусь, пока ты раздупляться буш.

     
  • 2.9, Аноним (9), 00:13, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Под юниксвеем обычно имеют ввиду поведение утилит, а это, как вы верно процитировали — платформа.
     
  • 2.11, Аноним (11), 00:51, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +8 +/
    это казахстан
     
     
  • 3.13, Аноня (?), 06:06, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Шутку не понял, но посмеялся. Спасибо
     
     
  • 4.22, Онаним (?), 10:21, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.youtube.com/watch?v=63Lf3KpIIGM
     
  • 2.12, Аноним (12), 04:26, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Надо было написать "низкопроизводительных" и все были бы согласны.
     
     
  • 3.23, Аноним (21), 10:22, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А чего это так?
     
     
  • 4.31, InuYasha (?), 13:03, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    наверное, потому что интерпретатор.
     
     
  • 5.51, Junior frontend developer (?), 00:44, 25/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Самый быстрый интерпретатор из популярных языков. Плюс хорошая ассинхронность позволяет тягаться и не только с интерпретируемыми языками.
     
  • 2.20, Ilya Indigo (ok), 09:36, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Представьте, Вы делаете сайт, который в реальном времени занимается обработкой спросов и предложений.
    Например система транспортной логистики, в которой одни компании выкладывают грузы, которые нужно перевести из А в Б, а другие компании выкладывают услуги по перевозке и свободные в данный момент, транспортные средства, находящиеся надалеко от А и способные довести их до Б.
    И при этом нужно чтобы сразу после добавления груза иди свободного транспортного средства менеджер транспортной компании увидел груз и/или машину, обговорил условия и договорился с ними обоими.
    Каждый раз перезагружать страницы с кучей фильтров не вариант! Менеджер должен получать мгновенно информацию об этом, а также получать личные сообщения, ответы на вопросы в предложении и прочее!
    Так вот, помимо задачи основного сайта, выполненной на PHP, задачу по обеспечению этой итеративности основанной на SSE или WebSockets возлагается на ноду.
    При этом если упадёт нода, а она может упасть, так как нагрузка на него гораздо выше, чем на основной PHP, или закончится свободные соединения, то основной функционал сайта продолжит работать и быстро отзываться.
    А также требования для обычного сайта (низкое время выполнения и большое кол-во запросов), прямо противоположно трбованию сервера для работы с SSE и WebSocets (долгое время выполнения, ограниченное кол-во подключений).
    Так что в таком случае нода это самый что не на есть unixway!

    P.S. Максим, благодарю за вынос "правка" в основной вид! :-)

     
     
  • 3.25, Аноним (21), 10:31, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Смешали говна и мух Это ошибка проектирования системы Причем тут Node js Соке... большой текст свёрнут, показать
     
     
  • 4.29, Ilya Indigo (ok), 11:11, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Смешали говна и мух.

    Говно с мухами именно Вы подвезли!

    > Это ошибка проектирования системы.

    Конечно, отсутствие ляма рублей на хороший сервер - ошибка проектирования системы!

    > О падениях на нагрузке в 10k - 100k соединений не заметил.

    Нагрузка бывает совершенно разной и просто кол-во соединений ничего не говорит!

    >> ... на основной PHP ...
    >> А также требования для обычного сайта (низкое время выполнения и большое кол-во запросов)
    > Как внезапно сайт на PHP выдает низкое время выполнения и большое количество

    Вы вообще читать умеете или только срать!?
    Не выдаёт, а настраивается веб сервер для оптимальной работы!

     
  • 3.33, Аноним (32), 13:07, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зачем перегружать сайт, php отлично умеет всё то что вы делаете на backend-е в Node.js
     
     
  • 4.35, Ilya Indigo (ok), 13:40, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Зачем перегружать сайт, php отлично умеет всё то что вы делаете на
    > backend-е в Node.js

    Вы предлагаете через AJAX каждые 5 сек бомбить обновлениями?
    Максимум через Comet (Long piling) каждые 100 сек посылать запросы?

    Я, собственно, так сейчас и буду делать, через Comet. Но я понимаю, что это решение не для большой нагрузки. Будут куча ошибок, типа сервер ответ послал, а клиент его уже не ждёт (перещёл на другую страницу или ущёл) прищёл, а главное, из-за этих соединений начнёт тормозить сайт, то есть время отклика всего сайта.

    Я пытался SSE реализовать на том же сайте, но понял это тупик, сайт себя вёл непредсказуемо, то тупил не переходя по ссылке и даже ребут апача выполнялся долго, как-будто он ожидал таймаута. (возможно из-за HTTP 2.0)
    https://ru.stackoverflow.com/questions/967446/server-sent-events-apache-ah0069

    И для оптимизации нужно повышать максимальное время выполнение скрипта, но я не хочу чтобы оно было более 120 сек, так как для сайта без Comet надёжнее когда оно маленькое, возможно вообще 30 сек ограничить.

    Есть способы организовать SSE и Web Sockets на PHP, но это в любом случае будет отдельный хост или даже сервер. А нода, насколько я понимаю что это, она изначально разрабатывалась именно для этих целей.

     
     
  • 5.39, GentooBoy (ok), 00:58, 25/04/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    У вас http2 и вы говорите про Comet, да ладно? Посмотрите как сделаны современные веб чатики. Если есть что то на ноде то менять конечно не стоит, но если нет то посмотрите в сторону phoenix liveview.

    У ноды есть свои проблемы, для какихто чатботов или другой маленькой функциональности я обеими руками за ноду, но что то сложное лучше уж искать другое решение, go,elixir (только к вашей задаче если я правильно понял что нужно) например. Тут проблема в том что кажеться что легко найти программиста под ноду но это увы не так

     
     
  • 6.43, Ilya Indigo (ok), 10:54, 25/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Посмотрите как сделаны современные веб чатики.

    У меня нет доступа к коду vk.com

    > посмотрите в сторону phoenix liveview.

    Благодарю!
    https://dockyard.com/blog/2018/12/12/phoenix-liveview-interactive-real-time-ap
    https://elixirschool.com/blog/phoenix-live-view
    Просмотрев бегло английские ссылки, понял только что оно реализовано через Web Sockets, и использует что-то под названием - elixir, о чём я впервые слышу.
    Дойду до реализации итерактивности ознакомлюсь с ним поближе!


     
     
  • 7.46, Аноним (46), 12:06, 25/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > что-то под названием - elixir

    Язык, приложения на котором выполняются в виртуальной машине Erlang (EVM), более приятный на вкус и на ощупь, чем сам Эрланг. Эликсир относительно Эрланга - это примерно как Котлин, Груви, Скала и прочие - относительно Жабы.

     
  • 4.52, Junior frontend developer (?), 19:37, 25/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Вопрос скорее наоборот. Зачем добавлять пхп к проекту на JS (а он будет неизбежно), если можно обойтись одним JS и иметь общую кодобазу.
     
  • 3.41, Аноним (46), 10:38, 25/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > помимо задачи основного сайта, выполненной на PHP, задачу по обеспечению этой итеративности основанной на SSE или WebSockets возлагается на ноду

    гм... решение, конечно, имеющее право на существование, но как-то это противоестественно выглядит - пришивать курице коровье вымя. Что помешало сделать статическую часть сайта на ноде или реалтаймовую часть на пыхе?
    Кстати, "итеративность" здесь в чём? В алгоритме подбора пары груза/рейс?

     
     
  • 4.44, Ilya Indigo (ok), 11:03, 25/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >> помимо задачи основного сайта, выполненной на PHP, задачу по обеспечению этой итеративности основанной на SSE или WebSockets возлагается на ноду
    > гм... решение, конечно, имеющее право на существование, но как-то это противоестественно
    > выглядит - пришивать курице коровье вымя. Что помешало сделать статическую часть

    Я уже начал сомневаться, что мне нужна именно нода для этого, но в любом случае Web Sockets реализовываются на чём-то отдельно от основного сайта. Ноду я подумал взять так как ничего другого не знаю что было бы сделано именно для организации реалтайма для web.

    > сайта на ноде или реалтаймовую часть на пыхе?

    Это маразм! Инструменты предназначенные для противоположного.

    > Кстати, "итеративность" здесь в чём? В алгоритме подбора пары груза/рейс?

    Интерактивностью я обзываю реалтаймовасть, что не верно с моей стороны.
    Нужно чтобы сообщения, комментарии, уведомления, новые грузы и транспорт появлялись сравнительно сразу (не дольше чем через 5 сек) без перезагрузки страницы.

    P.S. Если я в новости про ноду получаю рекомендации не использовать ноду, для того, для чего мне казалось она и предназначена, то это, видимо, тоже что-то значит. :-)

     
     
  • 5.45, Аноним (46), 12:01, 25/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Web Sockets реализовываются на чём-то отдельно от основного сайта

    Ну, если у вас такая своеобразная диверсификация - использование двух разных технологий (пых и нода) сделано для устойчивости к сбоям (в случае краша одного второе продолжает жить) - в принципе, можно и так...
    > Интерактивностью я обзываю реалтаймовасть

    А, так это была просто опечатка - не "итеративность" (метод последовательных приближений), а "интерактивность".

     
  • 3.47, Аноним (47), 04:42, 26/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Если-бы вместо слова nodejs было сказано, что-то вроде "шина", "amqp", "rpc" - сошел бы за середнячка, а так - в сад.

    nodejs это вечная жопоболь с:

    1.  Кучей пакетов с блокирующими зависимости.
    2. Отвратительная поддержка проектов - ибо школьники.
    3. Непонятные и непрогнозируемые утечки, зомби и т.д.
    4. Ну и самое глвное - сами ноджыэсники

     
     
  • 4.48, Ilya Indigo (ok), 09:00, 26/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > nodejs это вечная жопоболь с:
    > 1.  Кучей пакетов с блокирующими зависимости.
    > 2. Отвратительная поддержка проектов - ибо школьники.
    > 3. Непонятные и непрогнозируемые утечки, зомби и т.д.
    > 4. Ну и самое глвное - сами ноджыэсники

    Я с Вами согласен, пол год работал над CRM-кой на Ангуляре и зарёкся больше никогда с этим говном не работать.

    Но там он использовался через *опоу, там нужно было приложение на Qt, но поскольку старший руко*оп не бум-бум в C++, нам приходилось переписывал с делфи на Ангуляр, при этом виртуалке с XP и проектом хватало 256МБ и он летал там, а этому ...цензура... на ангуляре было и 5 Гиг мало, оператива расходовалась как не в себя, при этом жутко и долго тормозил.
    Я свалил оттуда через пол года от такого мусора.

    Ну всё разрабатывалась нода не для этого и может если ноду использовать по назначению от неё будет толк, или всё настолько в ней плохо?

     
  • 2.27, Andrey Mitrofanov (?), 10:36, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Это юниксвей? Кто подскажет?

    Да, ты должен в юниксвей!111

    "" * Economy and elegance of design due to size constraints ("salvation through suffering"). ""
    --https://en.wikipedia.org/wiki/Unix_philosophy

     

  • 1.10, Аноним (-), 00:17, 24/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > это юниксгей? кто подскажет?

    это тормозное рукожопоподелие... [anything] лучше...

     
  • 1.14, Аноним (-), 06:25, 24/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Интерестно: многие языки программирования, в том числе и интерпритируемые могут подключаться как библиотеки, а не кто не пытался создать "универсальный, самый-самый..." язык/интерпритатор/компилятор, в котором бы просто были бы собранны всевозможные библиотеки/языки? Т.е. в коде пиши любой оператор от любого языка, а компилятор/интерпритатор синхронизирует "окружение" всех библиотек/диалектов, соответствие объектов, переменных и прочего...
     
     
  • 2.15, Alex (??), 06:31, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    GraalVM туда идёт
     
     
  • 3.30, Аноним (30), 11:52, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Java нинче платная - не нужно...
     
  • 2.42, Аноним (46), 10:41, 25/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Универсальный самый-самый язык попытались сделать в Министерстве обороны США. Назвали Адой. Получилось так себе.
     

  • 1.16, Ан (??), 06:53, 24/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Похоже не терпелось новость выложить, что даже забыл описать больше половины изменений? Читайте актуальный обзор релиза здесь: https://medium.com/@nodejs/introducing-node-js-12-76c41a1b3f3f
     
     
  • 2.17, Аноним (17), 07:49, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Пост на medium.com вышел позднее, чем анонс https://nodejs.org/en/blog/release/v12.0.0/, в котором  про многие изменения ничего не сказано.
     
  • 2.18, Аноним (18), 08:19, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    уже дополнили.
     

  • 1.19, IronMan (?), 09:13, 24/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Enterprise Linux 7

    Кто такой, чем знаменит?
    Чем-то напомнило "на Mac и PC".

     
     
  • 2.26, Аноним (21), 10:34, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    el7 это кодовое название для CentOS и Red Hat вместе взятых.
    Знаменит ущербной системой пакетов и поддержкой пакетов от сотворения Linux.
    В целом есть еще коммерческая поддержка, но по факут бесполезность чуть более чем полностью.
     
     
  • 3.36, IronMan (?), 14:44, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > el7 это кодовое название для CentOS и Red Hat вместе взятых.
    > Знаменит ущербной системой пакетов и поддержкой пакетов от сотворения Linux.
    > В целом есть еще коммерческая поддержка, но по факут бесполезность чуть более
    > чем полностью.

    То есть по сути это версии RHEL? А Oracle linux, например, сюда относится? А SUSE уже не ынтерпрайз?

     

  • 1.28, Бенчмарки (?), 10:56, 24/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Какая новость без бенчмарков?
    https://imgur.com/a/GCi1owx
    Что мы видим? Увеличение производительности в среднем на 2 процента.
    нот бед
     
     
  • 2.37, Анон Анонов (?), 17:57, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Херню померил. Это за пределы погрешности не выходит.
     
  • 2.49, НяшМяш (ok), 13:15, 29/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Facepalm.jpg. Ты так еще С99 с С++17 потестируй. Тебе же явно в анонсе написали, где увеличение производительности. Напиши код с асинкавейтами, с парсингом utf-8 в потоке и тогда сравнивай. Можешь качнуть вот эту репу https://github.com/YodaCoders/http-libraries-perf-test и протестить 8 vs 10 vs 12. На моём корыте 10 нода процентов на 30 быстрее 8 была в этом "бенчмарке".
     

  • 1.40, хотел спросить (?), 04:28, 25/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    не нужно!
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру