Size: a a a

2020 May 23

ЕО

Евгений Омельченко... in Go-go!
Daniel Podolsky
у меня два вопроса

1. почему вы вдруг оказались на старом go?
2. до этой статьи - вы не знали, как в go работает планировщик?
Я вот знал, как он раньше работал, а что в новом остались unsafe-points, я не знал
источник

AK

Anton Kucherov in Go-go!
А теперь главный вопрос, что это все значит для обычных людей? 🙂 Какие преимущества и какие подводные камни?
источник

C

Calculon in Go-go!
Anton Kucherov
А теперь главный вопрос, что это все значит для обычных людей? 🙂 Какие преимущества и какие подводные камни?
теперь можно флексить с инфинит лупами
источник

E

Edgar in Go-go!
Anton Kucherov
А теперь главный вопрос, что это все значит для обычных людей? 🙂 Какие преимущества и какие подводные камни?
На собесах перестанут задавать вопросы про то, почему программа зацикливается, если в горутине запустить простой цикл и выставить перед этим колличество машин на 1
источник

E

Edgar in Go-go!
Это как минимум
источник

DP

Daniel Podolsky in Go-go!
Владимир Щёголев
1. Так вышло в корпортивном докер контейнере. Где команду пинают уже давно, чтобы они там поменяли версию Go
2. Да, планировщик в Go я еще не изучал. Интуитивно я в конце дошел до этой версии и свой баг пофиксил. В ближайшее время начну более подробно изучать Go "под капотом"
а как пофиксили-то?

(для тех, кому прям надо длинные циклы в много горутин, существует `runtime.Gosсhed()`)
источник

а

а кто это in Go-go!
Edgar
На собесах перестанут задавать вопросы про то, почему программа зацикливается, если в горутине запустить простой цикл и выставить перед этим колличество машин на 1
наоборот начнут спрашивать почему не зацикливается
источник

ЕО

Евгений Омельченко... in Go-go!
Daniel Podolsky
а как пофиксили-то?

(для тех, кому прям надо длинные циклы в много горутин, существует `runtime.Gosсhed()`)
Насколько я понимаю, сейчас уже нет
источник

DP

Daniel Podolsky in Go-go!
Евгений Омельченко
Я вот знал, как он раньше работал, а что в новом остались unsafe-points, я не знал
кооперативная многозадачность сильно дешевле, поэтому вытесняющую добавили, но как fallback
источник

ЕО

Евгений Омельченко... in Go-go!
Daniel Podolsky
кооперативная многозадачность сильно дешевле, поэтому вытесняющую добавили, но как fallback
Зато закончится теперь этот маразм "горутины не треды"
источник

ЕО

Евгений Омельченко... in Go-go!
От людей, которые не знают что такое n:m threads
источник

DP

Daniel Podolsky in Go-go!
но они не треды! они прям сильно дешевле!
источник

C

Calculon in Go-go!
n:m threads?
источник

DP

Daniel Podolsky in Go-go!
Евгений Омельченко
Насколько я понимаю, сейчас уже нет
источник

ВЩ

Владимир Щёголев... in Go-go!
Daniel Podolsky
а как пофиксили-то?

(для тех, кому прям надо длинные циклы в много горутин, существует `runtime.Gosсhed()`)
заменил цикл с проверкой глобального значения на ожидание данных из канала, которое "разрешало" горутине работать дальше
источник

а

а кто это in Go-go!
ух, глобальное значение
источник

DP

Daniel Podolsky in Go-go!
Владимир Щёголев
заменил цикл с проверкой глобального значения на ожидание данных из канала, которое "разрешало" горутине работать дальше
источник

ЕО

Евгений Омельченко... in Go-go!
Daniel Podolsky
но они не треды! они прям сильно дешевле!
Если три модели трединга -- треды ОС (1:1 threads), зелёные треды (1:N) и гибридные (M:N threads), вот в го, как и в эрланге, типичный гибридный трединг.
источник

RS

Roman Sharkov in Go-go!
Владимир Щёголев
заменил цикл с проверкой глобального значения на ожидание данных из канала, которое "разрешало" горутине работать дальше
а не слишком ли большая цена?))
источник

RS

Roman Sharkov in Go-go!
ой, я наоборот прочитал (мол заменил канал на цикл), извиняюсь)
источник