
Nick
23.07.2017
15:34:49

Nikolay
23.07.2017
15:34:54

Старый
23.07.2017
15:34:56
почему hq процы говно такое ?

Nikolay
23.07.2017
15:35:00
но ты думай, как тебе удобно

Google

Nick
23.07.2017
15:35:48
@Enchantner ты ж сказал ,что корутины могут быть построены на тредах - ну и как вот абстракция может быть быстрее того, что под ней ?

Aleksandr
23.07.2017
15:35:53

Nick
23.07.2017
15:36:28

Nikolay
23.07.2017
15:36:40

Alex
23.07.2017
15:36:49
не помогло

Старый
23.07.2017
15:37:09
?

Aleksandr
23.07.2017
15:37:28

Dan
23.07.2017
15:37:39

Nick
23.07.2017
15:37:42

Nikolay
23.07.2017
15:37:54

Aleksandr
23.07.2017
15:37:58

Alexey
23.07.2017
15:38:02

Google

Nick
23.07.2017
15:38:13

Nikolay
23.07.2017
15:38:15
также как и корутины
корутины и треды - два разных понятия. В однотредовых корутинах нет переключения системного контекста, в тредах есть

Nick
23.07.2017
15:38:46

Nikolay
23.07.2017
15:38:59
лучше б уроки учил

Alexey
23.07.2017
15:39:20
аргументируй
https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0

Nick
23.07.2017
15:39:46

Nikolay
23.07.2017
15:40:05

Nick
23.07.2017
15:40:18
ты сам сказал что эт от реализации зависит
а если она поверх тред пула?
в которых конечно ж есть переключения контекстов

Nikolay
23.07.2017
15:40:36
это просто функции, которые друг другу управление передают и сохраняют место, где остановились

Nick
23.07.2017
15:40:57
если поверх clone эт другой разговор

Nikolay
23.07.2017
15:41:09
например, в ноде и питоне никаких тредов по умолчанию нету

Aleksandr
23.07.2017
15:41:14
аргументируй
на одном ядре может работать только один поток, если хочет поработать другой то котекст текущего придется удалить, и создать для нового. и это для любой операции в потоке. твоя схема даст утилизацию 90% cpu на context switching

Nikolay
23.07.2017
15:41:19
в ноде чуть хитрее, но можно сказать, что тоже нету

Alexey
23.07.2017
15:41:20

Nick
23.07.2017
15:41:38

Google

Nikolay
23.07.2017
15:42:20

Nick
23.07.2017
15:42:22
я предлагаю на одно ядро повесить один поток

Alexey
23.07.2017
15:42:38

Nick
23.07.2017
15:42:42

Nikolay
23.07.2017
15:42:58
лучше послушай, тебе расскажут, как оно работает на самом деле

Nick
23.07.2017
15:43:15
@ketchoop

Alex
23.07.2017
15:43:17
И вновь продолжается бой и сердцу тревожно в груди, и Ленин такой молодой

Aleksandr
23.07.2017
15:43:33

Alexey
23.07.2017
15:43:46
@dizelektwo Я бы подпел, но слишком юн для таких песен, увы(

Nikolay
23.07.2017
15:43:51

Aleksandr
23.07.2017
15:44:16

Nick
23.07.2017
15:44:30
не стоит забывать, что в ос у нас не 1 поток
и твои корутинки тож выкнутся)

Старый
23.07.2017
15:44:41

Alexey
23.07.2017
15:44:44

Nikolay
23.07.2017
15:44:50

Nick
23.07.2017
15:45:03

Старый
23.07.2017
15:45:03

Google

Nick
23.07.2017
15:45:13
а про те самые pthread к примеру

Nikolay
23.07.2017
15:45:26

Nick
23.07.2017
15:46:02

Nikolay
23.07.2017
15:46:02
или, по-твоему, потоки и pthread'ы чем-то друг от друга отличаются?
одни потоки более поточные, чем другие?
то есть тех же самых корутин

Nick
23.07.2017
15:46:46
нет, одни потоки шедуляться ос, а другие потоки просто поток инструкции на ядре

Nikolay
23.07.2017
15:46:59

Admin
ERROR: S client not available

Nick
23.07.2017
15:49:20

Старый
23.07.2017
15:51:24
?шурыгину когда пригласите?

Nikolay
23.07.2017
15:51:42
я заскриншотил, можно продолжать

Aleksandr
23.07.2017
15:53:19

Nikolay
23.07.2017
15:53:37
мне прям интересно, чего он теперь напишет

Alexey
23.07.2017
15:54:09

Nick
23.07.2017
15:54:25

Aleksandr
23.07.2017
15:54:43

Nick
23.07.2017
15:54:59
я про поток инструкции на ядре

Google

Nick
23.07.2017
15:55:10
не про системные треды
так вот, у тебя в системке может быть много процессов и ясен перед твою корутинку могут тоже заставить подождать
точнее тред, который под корутинкой
нет?

Aleksandr
23.07.2017
15:56:24
я про поток инструкции на ядре
ты путаешь уровень абстракции тут, речь про user-space априори была, с учетом того что системные шедулеры полностью инкапсулированы от тебя

Nick
23.07.2017
15:57:04
конечно он будет скрыт от тебя, но всеж

Aleksandr
23.07.2017
15:57:25

Nick
23.07.2017
15:57:32
возвращаясь к моему варианту
1 поток ассептор - 1 поток воркер

Nikolay
23.07.2017
15:57:50
любой тред может словить context switch, это базовый принцип работы многопоточности на уровне ядра ОС

Nick
23.07.2017
15:58:00
это хороший момент для спора, я ж могу всегда сделать yield
и отдать время воркеру
и тут вопрос, с хуяли корутины будут быстрее

Bsod
23.07.2017
15:58:54
Ставки на длительность спора еще не принимаются?

Aleksandr
23.07.2017
15:59:00
context switch - зло неизбежное, но строить архитектуру которая порождает лавину переключений не очень толково

Nick
23.07.2017
15:59:22

Nikolay
23.07.2017
15:59:53

Nick
23.07.2017
15:59:55
я ж создам 2 треда всего, не over миллион

Nikolay
23.07.2017
16:00:47
и чем больше точек синхронизации между тредами (которые будут при любом раскладе, если тред не отстреливается в демона) - тем больше будет этих переключений

Nick
23.07.2017
16:00:56
а если мы уж поговорим про какой-нить го, или чо там, у вас кароч там с десяток gc тредов создадутся)