hightload основы eventloop


https://m.habr.com/ru/company/mailru/blog/329258/

про потоки eventloop

php server

Пишем онлайн чат на Websockets используя Swoole

 

  

image

Для сравнения, если выбрать несколько важных факторов, влияющих на производительность и простоту использования, то получается такая таблица:

Язык Потоки vs. процессы Неблокирующие I/O Простота использования
PHP Процессы Нет  
Java Потоки Доступно Нужны колбэки
Node.js Потоки Да Нужны колбэки
Go Потоки (горутины) Да Колбэки не нужны

 

С точки зрения потребления памяти потоки выполнения должны быть гораздо эффективнее процессов. Если также учесть факторы, относящиеся к неблокирующим операциям ввода/вывода, то по мере движения вниз по таблице общая ситуация с вводом/выводом улучшается. Так что если бы я выбирал победителя, то предпочёл бы Go.