nvkv
nvkv
Это же шикарно!
nvkv
я хочу, чтобы конфлютор за меня думал в таких ситуациях
Valery
Когда писал upspin всю ночь, а надо еще нарисовать талисман
nvkv
Roman
Вопрос вообще ко всем :)
Roman
кстати, говоря про Upspin, я правильно понял что это облегчает peer-to-peer file sharing?
nvkv
Что такое гороутина?
это запакованный кусок компьютейшена, со стэком, который может выполниться
nvkv
amirite?
nvkv
причем там какой-то хитрый шедулинг на реальные треды
nvkv
и какой-то хитрый шедулер в рамках трэда, который эти самые компьютейшены шатает
Roman
nvkv
в рамках текущего трэда, подозреваю, что копированием
nvkv
честно, не знаю деталей реализации
Roman
http://blog.nindalf.com/how-goroutines-work/
nvkv
это же просто кусок байт за интерфейсом
Roman
nvkv
это зачем?
Чтобы посчитать твой компьютейшн на еба-кластере вместо контрольной ноды
nvkv
Скалабилити, все вот это
Roman
Roman
это зачем?
Например, передать на другую ноду или другой процесс
nvkv
Ivan
Roman
что не освобождает?
ресурсы, Go использует старые рутины заново, не всегда он под новую рутину заново память выделяет
Ivan
а можешь ссылку дать на почитать?
Roman
а можешь ссылку дать на почитать?
по "golang goroutine reuse memory" тоже не могу найти, помоему это в каком то go-talk'е было сказано и мной услышано, видимо это такие глубокие дебри языка в которые особо никто не лезит
Ivan
я вот тоже
Roman
я вот тоже
печалька, может быть по видео презентациям поискать (на тему golang performance)
nvkv
nvkv
Ты про паттерн Map-Reduce слышал при обработке распределенных данных?
nvkv
Мне Map функции все возможные в мире сразу надо на каждой ноде определить?
nvkv
Задача "засериализовать компьютейшн и отправить по сети" это достаточно частый кейз, тащемта
Roman
nvkv
Roman
но, согласись, это не значит, что их нет
они то конечно есть, но уж точно их не выше описаным способом решать типа "засериализировать goroutine", уж не знаю можно ли засериализировать lambda функцию в Go, но сериализировать поток это нонсенс
nvkv
Горутина это не поток
nvkv
Поток это канал
nvkv
И его не надо сериализовать, его нужно просто научить другому транспорту
nvkv
И это, насколько я понимаю, одна из самых ожидаемых фич в го :)
Roman
Горутина это не поток
я имеею ввиду thread, (thread на русский язык вроде как "поток" переводится). чисто технически goroutine = green thread
nvkv
tcp transport for channels
engelbart
Ну типа рабитmq ?
Roman
tcp transport for channels
в чём проблема воплотить?? у меня асинхронный сервер по пободной схеме работает, там WebSockets но разницы нет
Roman
не думаю что разработчики действительно встроят в язык транспорт каналов по TCP, это усложнит язык, а изначальная цель у них наоборот его не усложнять
nvkv
поэтому с потоком ассоциируются потоки
nvkv
сорян
nvkv
Roman
nvkv
поэтому обычно их называют тредами
Roman
поэтому обычно их называют тредами
просто я стараюсь русский с английским не мешать, а то как увижу: "аллоцировать мэм для компьютэйшна ради перформенса" аж глаза режит, почему не "выделить память на вычисления ради производительности" 😀
Roman
тоже самое с "трэдами"
Roman
https://ru.wikipedia.org/wiki/%D0%9C%D0%BD%D0%BE%D0%B3%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C
всё-таки можно thread потоком называть 😋
Roman
https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D1%82%D0%BE%D0%BA_%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F
nvkv
Да, всё так
nvkv
Но путаница ужасная постоянно из-за русификации бывает
engelbart
тише товарищи, буржуи слушают
Мерль
Я уж не говорю о бесконечных interface{}, которые нужно кастовать, когда работаешь с не нативными контейнерами(либо приходится городить кодогенератор). Хотя нет, даже в гребаном контексте надо кастовать типы!
Anonymous
Эээ, кто-то нелестно отзывается о Go? Зовите админов, это оскорбление чувств гоферов!
Мерль
Ruslans
Anonymous
One
кул, фанатизм но пасаран =)
One
Люк, я твой атэц!
nvkv
nvkv
он может из Го даже массивы выбросить и всё равно ад его не примет