
Roman
24.02.2017
22:22:39
Я не про память по-прежнему

Semyon
24.02.2017
22:22:42
в приличных местах в документации к типу просто сразу пишут thread safe он, например, или нет
это я для примера

Roman
24.02.2017
22:23:33

Google

Roman
24.02.2017
22:23:55
Потому что создание гороутины довольно дорого

Semyon
24.02.2017
22:24:35
я себе сейчас пытаюсь представить, сколько горутин нужно заспавнить, чтобы рантайм вылез в топ
оно не так уж дорого, в конце концов
Anyway
Мой поинт относительно языка го и всего это чудесного мероприятия такой
1. Язык го, как язык, ужасно примитивный
2. Для тех целей, для которых он появился это отлично
Я вот с недавних пор на го пишу и мои цели полностью совпадают с целями Гугла
мне надо чтобы мой код могли читать и поддерживать много людей разного уровня подготовки
и тут ничего лучше го я придумать не могу

Valery
24.02.2017
22:28:23
Не знаю что тут за холивар
Но го — лучший язык

Phil
24.02.2017
22:28:28

Valery
24.02.2017
22:28:38
Вы где-нибудь видели более милого талисмана?

Google

Semyon
24.02.2017
22:28:48

Valery
24.02.2017
22:28:49

Semyon
24.02.2017
22:28:50
в Plan 9
Рене Френч охуенная

Phil
24.02.2017
22:29:08

Ivan
24.02.2017
22:29:19

Semyon
24.02.2017
22:29:28

Roman
24.02.2017
22:29:31

Semyon
24.02.2017
22:29:39
о
к слову о талисманах

Phil
24.02.2017
22:29:52

Semyon
24.02.2017
22:29:52
вы видели талисман нового проекта гугла?
Upspin
Это же шикарно!

Phil
24.02.2017
22:30:06

Semyon
24.02.2017
22:30:23
я хочу, чтобы конфлютор за меня думал в таких ситуациях

Valery
24.02.2017
22:31:02
Когда писал upspin всю ночь, а надо еще нарисовать талисман

Semyon
24.02.2017
22:31:17

Google

Roman
24.02.2017
22:31:27
Вопрос вообще ко всем :)

Ivan
24.02.2017
22:32:32

Roman
24.02.2017
22:33:41
кстати, говоря про Upspin, я правильно понял что это облегчает peer-to-peer file sharing?

Semyon
24.02.2017
22:34:32
amirite?
причем там какой-то хитрый шедулинг на реальные треды
и какой-то хитрый шедулер в рамках трэда, который эти самые компьютейшены шатает

Roman
24.02.2017
22:35:34

Semyon
24.02.2017
22:36:32
в рамках текущего трэда, подозреваю, что копированием
честно, не знаю деталей реализации

Roman
24.02.2017
22:37:17

Roman
24.02.2017
22:37:25
http://blog.nindalf.com/how-goroutines-work/

Semyon
24.02.2017
22:37:42
это же просто кусок байт за интерфейсом

Roman
24.02.2017
22:38:55

Semyon
24.02.2017
22:39:31
это зачем?
Чтобы посчитать твой компьютейшн на еба-кластере вместо контрольной ноды
Скалабилити, все вот это

Roman
24.02.2017
22:40:37

Google

Roman
24.02.2017
22:40:40

Roman
24.02.2017
22:41:23
это зачем?
Например, передать на другую ноду или другой процесс

Semyon
24.02.2017
22:41:45

Roman
24.02.2017
22:42:00

Roman
24.02.2017
22:43:18

Roman
24.02.2017
22:44:53

Ivan
24.02.2017
22:46:23

Roman
24.02.2017
22:47:21
что не освобождает?
ресурсы, Go использует старые рутины заново, не всегда он под новую рутину заново память выделяет

Ivan
24.02.2017
22:50:11
а можешь ссылку дать на почитать?

Roman
24.02.2017
23:01:05
а можешь ссылку дать на почитать?
по "golang goroutine reuse memory" тоже не могу найти, помоему это в каком то go-talk'е было сказано и мной услышано, видимо это такие глубокие дебри языка в которые особо никто не лезит

Ivan
24.02.2017
23:13:57
я вот тоже

Roman
24.02.2017
23:19:01
я вот тоже
печалька, может быть по видео презентациям поискать (на тему golang performance)

Semyon
25.02.2017
05:56:12
Ты про паттерн Map-Reduce слышал при обработке распределенных данных?
Мне Map функции все возможные в мире сразу надо на каждой ноде определить?
Задача "засериализовать компьютейшн и отправить по сети" это достаточно частый кейз, тащемта

Roman
25.02.2017
05:58:01

Semyon
25.02.2017
05:58:18

Roman
25.02.2017
05:59:39
но, согласись, это не значит, что их нет
они то конечно есть, но уж точно их не выше описаным способом решать типа "засериализировать goroutine", уж не знаю можно ли засериализировать lambda функцию в Go, но сериализировать поток это нонсенс

Google

Semyon
25.02.2017
06:00:41
Горутина это не поток
Поток это канал
И его не надо сериализовать, его нужно просто научить другому транспорту
И это, насколько я понимаю, одна из самых ожидаемых фич в го :)

Roman
25.02.2017
06:01:47
Горутина это не поток
я имеею ввиду thread, (thread на русский язык вроде как "поток" переводится). чисто технически goroutine = green thread

Semyon
25.02.2017
06:01:48
tcp transport for channels

Ivan
25.02.2017
06:01:59
Ну типа рабитmq ?

Roman
25.02.2017
06:02:22
tcp transport for channels
в чём проблема воплотить?? у меня асинхронный сервер по пободной схеме работает, там WebSockets но разницы нет
не думаю что разработчики действительно встроят в язык транспорт каналов по TCP, это усложнит язык, а изначальная цель у них наоборот его не усложнять

Semyon
25.02.2017
06:12:34
поэтому с потоком ассоциируются потоки
сорян

Roman
25.02.2017
06:14:06

Semyon
25.02.2017
06:14:18
поэтому обычно их называют тредами

Roman
25.02.2017
06:16:39
поэтому обычно их называют тредами
просто я стараюсь русский с английским не мешать, а то как увижу: "аллоцировать мэм для компьютэйшна ради перформенса" аж глаза режит, почему не "выделить память на вычисления ради производительности" ?
тоже самое с "трэдами"
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 потоком называть ?
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

Semyon
25.02.2017
06:34:44
Да, всё так
Но путаница ужасная постоянно из-за русификации бывает

Roman
25.02.2017
06:40:03