20:00:25 From Mike Deruygin : ага 20:00:27 From Григорий Заводов : + 20:00:28 From Mike Deruygin : добрый вечер 20:01:09 From denis : Звука нет( 20:01:15 From Mike Deruygin : неа 20:01:17 From Sergey Olisov : - 20:01:20 From Mike Deruygin : звук есть 20:01:24 From Sergey Olisov : есть 20:01:26 From Dmitry Pavlov : есть 20:01:36 From Mike Deruygin : - 20:01:39 From Sergey Olisov : нет 20:01:40 From andrei : звук есть? 20:01:49 From Пользователь Otus : Говорят есть 20:01:49 From andrei : теперь да 20:01:49 From Ivan Ivanov : чат не видно, и звук тихо( 20:01:56 From Nikolay Kom : звук видео есть, чата нет 20:01:57 From Mike Deruygin : звук есть нормально, чата нет 20:02:04 From denis : перезашел - появился 20:02:11 From Sergey Olisov : все норм кроме чата 20:02:49 From vitaly : + 20:03:07 From Sergey Olisov : + 20:03:08 From Nikolay Kom : + 20:03:08 From Mike Deruygin : + 20:03:08 From denis : + 20:03:10 From vitaly : + 20:03:10 From andrei : + 20:03:12 From Eugene Klimov : + 20:03:16 From Nikolay Yakubitskiy : + 20:04:38 From Dmitry Pavlov : ! 20:04:39 From andrei : ! 20:04:41 From Dmitriy Tselinko : ! 20:04:42 From Григорий Заводов : ! 20:04:44 From andrey : ? 20:04:45 From denis : ? 20:04:50 From Sergey Olisov : ! 20:05:34 From andrey : + 20:05:36 From denis : да 20:05:41 From Nikolay Kom : да, спасибо 20:06:36 From andrei : пустоту 20:06:40 From Mike Deruygin : все вместе 20:06:41 From Nikolay Kom : ничего.. 20:06:43 From Sergey Olisov : может и ничего 20:06:47 From denis : home толькол 20:06:47 From Григорий Заводов : ничего 20:06:48 From Eugene Klimov : кашу 20:06:57 From andrey : everybody's home 20:07:12 From denis : Она завершиться 20:07:14 From Nikolay Kom : завершится мгновенно, если успеет может что и выведет 20:07:16 From Mike Deruygin : main выйдет 20:07:19 From Sergey Olisov : мы не ждем горутин в майне 20:07:31 From Eugene Klimov : быстро выйдет из мейна 20:08:30 From Nikolay Kom : да 20:08:30 From Dmitry Pavlov : + 20:08:32 From denis : да 20:08:32 From andrei : + 20:08:32 From Mike Deruygin : + 20:08:36 From Eugene Klimov : + 20:08:44 From andrey : Но у собаки vasya вероятность выше 20:08:45 From andrey : :D 20:09:46 From Григорий Заводов : add инкрементирует на delta 20:12:16 From Григорий Заводов : d нужно в функцию передать 20:12:20 From denis : Почему создание через получения адреса? 20:12:28 From Dmitry Pavlov : передать d 20:12:32 From Григорий Заводов : одна переменная 20:12:33 From Dmitriy Tselinko : замыкание 20:12:35 From glb : d:=d 20:13:31 From andrei : - 20:13:41 From Dmitry Pavlov : нету 20:13:43 From Nikolay Kom : - 20:13:47 From Григорий Заводов : errGroup обсудим? 20:15:07 From Dmitry Pavlov : - 20:15:07 From andrei : - 20:15:08 From Sergey Olisov : - 20:15:09 From Dmitriy Tselinko : - 20:16:14 From Пользователь Otus : https://play.golang.org/p/m16jnq3kO2O 20:16:39 From denis : waitGroup ничего ведь не знает о горутинах - это просто счетчик, верно? 20:17:00 From denis : Хорошо, спасибо 20:17:59 From Eugene Klimov : неизвестно, случайное 20:18:02 From andrei : 1000 20:18:03 From Dmitry Pavlov : неизвестно 20:18:12 From andrei : она ж глобальная 20:18:16 From andrei : сверху 20:18:31 From Dmitry Pavlov : race 20:18:43 From Григорий Заводов : одновременный доступ 20:18:47 From andrei : mur=tex нужен 20:18:50 From andrei : ьгеуч 20:18:53 From andrei : mutex 20:18:58 From denis : Несколько горутин 20:18:58 From Nikolay Kom : не сихронизирован доступ к переменной, локальный кеш в потоке? 20:19:12 From Dmitry Pavlov : пока одна горутина складывает, другая имеет старую копию 20:20:26 From andrei : + 20:20:26 From Dmitry Pavlov : + 20:20:29 From Mike Deruygin : + 20:20:30 From Nikolay Kom : + 20:20:34 From Sergey Olisov : + 20:20:45 From andrey : + 20:21:49 From andrei : а если глобальным mutex сделать? 20:22:06 From andrei : а что не хорошо? 20:22:20 From andrei : ок 20:22:24 From denis : Но у нас же i глобальный))) 20:22:31 From denis : Не хорошо)) 20:23:02 From Dmitry Pavlov : вопрос повторите 20:23:11 From Eugene Klimov : done в конец надо 20:23:15 From Григорий Заводов : unlock выше 20:23:16 From andrei : через defer 20:23:22 From andrei : unlock 20:23:32 From Nikolay Kom : потому что можем выйти из горутины не дождавшись 20:23:42 From Eugene Klimov : счетчик тикнет и все - wait завершится 20:23:56 From Григорий Заводов : зачем синхронизировать done? ) 20:24:52 From andrei : - 20:24:52 From Nikolay Kom : нет 20:24:54 From Dmitry Pavlov : нет 20:24:58 From vitaly : - 20:25:00 From andrey : - 20:25:12 From Григорий Заводов : atomic? 20:25:57 From denis : Небольшая задержка 20:26:18 From Mike Deruygin : я 20:26:21 From Dmitriy Tselinko : я 20:26:51 From denis : Я правильно понимаю, если поставить GOMAXPROC выставить в 4 то программа начнет работать именно параллельно? 20:27:17 From denis : Ну да 20:28:24 From andrey : а если поставить оч 20:28:28 From andrey : очень много ? 20:28:30 From denis : А если GOMAXPROC в 1, можно не думать о локах?) 20:28:51 From andrey : 999 например 20:29:36 From denis : А влияет HP - гипер трейдинг прода? 20:29:42 From denis : проца* 20:29:51 From andrey : конечно 20:30:34 From andrei : + 20:30:35 From Mike Deruygin : + 20:30:36 From Nikolay Kom : + 20:30:38 From Mikhail : + 20:30:40 From andrey : + 20:30:44 From Sergey Olisov : + 20:30:44 From denis : + 20:31:35 From Sergey Olisov : можно шрифт покрупнее? 20:32:34 From denis : Команду не увидел((( для била с рейсом 20:32:36 From Sergey Olisov : + 20:32:36 From Nikolay Kom : да 20:33:05 From Sergey Olisov : а сильно тяжелее ехешник становится с -race? 20:33:42 From Sergey Olisov : 8192? 20:35:30 From Nikolay Kom : а почему известно? 20:35:51 From denis : а run - тоже не запуститься? 20:36:10 From Nikolay Kom : спасибо 20:36:39 From andrey : видать race этот какие-то накладные расходы всёже несёт 20:38:06 From Mike Deruygin : как-то подозрительно просто) 20:40:50 From andrey : А есть инструменты понять где тормозит? 20:41:11 From Mike Deruygin : можно делать несколько локов в пределах 1 рутины ? 20:41:56 From Григорий Заводов : логично 20:42:24 From andrei : а если mu.Lock() 20:42:30 From Mike Deruygin : ага, спасибо большое 20:42:30 From andrei : mu.Unlock 20:42:33 From andrei : 2 раза 20:43:42 From denis : Что значит распределение вычислений? 20:44:35 From denis : Понял, спасибо 20:45:39 From andrei : еще раз 20:46:48 From denis : Мы про мьютекс чтения - записи верно? 20:47:05 From andrei : + 20:48:17 From Mike Deruygin : теперь вот знаю 20:48:27 From denis : Я тоже теперь знаю) 20:48:33 From Dmitriy Tselinko : не знал 20:48:55 From Nikolay Kom : это только мапов касается. или слайсов тоже? 20:49:05 From Mike Deruygin : т.е. ему тут надо поставить лок на запись оптимально? 20:49:19 From Mike Deruygin : ага, спасибо 20:50:02 From Григорий Заводов : sync.Map же выпустили? 20:52:32 From Mike Deruygin : перестало быть подозрительно просто) 20:52:39 From andrey : нет 20:52:43 From denis : Ничего не понял 20:52:44 From andrei : нет 20:52:49 From andrey : В примере же звёдочка 20:53:03 From denis : А но это понятно 20:53:06 From andrei : ок 20:53:14 From andrey : Это понятно, функции мы уже знаем :) 20:54:01 From andrei : а зачем на чтение? 20:54:07 From Mike Deruygin : а зачем блокировать читателей? 20:54:18 From Mike Deruygin : а, точно, понятно 20:54:22 From andrey : lock лочит на всё , Rlock только за запись 20:54:30 From denis : Я правильно понял, лок на запись ждет пока освободиться лок на чтение и на запись? 20:54:36 From andrei : ок 20:55:21 From andrei : - 20:55:26 From Mike Deruygin : нет , очень понятно стало 20:55:36 From andrei : не для всех же задач на чтение лок нужен 20:55:37 From andrei : ? 20:58:22 From Григорий Заводов : думал, что проще использовать sync.Map всегда ) 20:58:45 From denis : Я правильно понял, что она быстрее на 100нс? 20:59:21 From Григорий Заводов : и потом мы не всегда знаем на скольких ядрах нас запустят 20:59:51 From denis : Если она быстрее и удобней - почему ей пользоваться не всегда? 21:00:30 From Dmitry Pavlov : Она сильно не удобнее, тут пустые интерфейсы) 21:00:47 From Пользователь Otus : a["i"]++ 21:01:11 From denis : Хорошо, понял 21:01:58 From Nikolay Kom : чтоб с диска неичитать 21:02:00 From Dmitry Pavlov : Ускорение 21:02:01 From Mike Deruygin : чтобы доставить их из очереди 21:02:05 From denis : IO операции 21:02:15 From Eugene Klimov : чтобы не аллоцировать лишний раз 21:03:44 From denis : Он же его создает, как же он тогда не аплодирует его в памяти 21:04:02 From Dmitry Pavlov : Один раз создает 21:04:20 From denis : Не догоняю, там же значения разные 21:04:26 From denis : Если мне надо две собаки 21:06:00 From Mike Deruygin : 1 21:06:34 From denis : Это одна и та же собака с именем иван, а если нужны другие имена 21:08:15 From denis : Есть возможность получить из пула? 21:08:40 From andrei : а скока там ща собак? 21:08:54 From denis : Зачем возвращать тогда? 21:09:23 From Mike Deruygin : т.е. и с go перед tryDog у нас сколько будет аллокаций? тоже 1 штука? 21:09:29 From Mike Deruygin : (примерно) 21:09:45 From Mike Deruygin : а еслипостави м sleep 21:09:46 From Nikolay Kom : да 21:09:56 From Dmitry Pavlov : понятно 21:10:08 From Mike Deruygin : ага, спасибо 21:10:39 From denis : +_ 21:10:41 From Mike Deruygin : да, + 21:10:42 From Nikolay Kom : да 21:14:05 From andrey : в 2 раза 21:14:38 From Eugene Klimov : --bench . --benchmem 21:15:24 From Mike Deruygin : + 21:15:25 From Nikolay Kom : да 21:15:28 From Mikhail : + 21:15:34 From Eugene Klimov : + 21:15:36 From andrey : + 21:16:17 From Пользователь Otus : Пример использования: https://golang.org/src/fmt/print.go#L109 Подробнее про устройство в 1.13: https://dev- gang.ru/article/go-ponjat-dizain-syncpool-cpvecztx8e/ 21:18:57 From Nikolay Kom : да 21:18:59 From Mikhail : + 21:19:10 From denis : зачем это если есть mutex? 21:19:21 From Mike Deruygin : синглтон? 21:21:11 From andrei : давайте к примеру 21:21:59 From denis : Пример в плейграунд потом скиньте плиз 21:23:40 From Пользователь Otus : https://play.golang.org/p/BNqO1Ot2lgP 21:28:09 From denis : 3 21:28:30 From denis : deadlock? 21:28:59 From denis : Убрать локи 21:29:02 From Eugene Klimov : одна съедает, остальные вечно ждут 21:29:47 From denis : А какой именно горутине мы не гарантируем? 21:31:31 From Mike Deruygin : а есть <- c поставим над m["2"] ? 21:32:50 From andrei : path 21:32:59 From andrei : передовать надо 21:33:13 From Григорий Заводов : возмём только последний 21:35:08 From Пользователь Otus : https://golang.org/ref/mem 21:37:35 From Nikolay Kom : да 21:39:59 From Nikolay Kom : очень много моментов интересных рассказали, спасибо 21:40:11 From Dmitriy Tselinko : пока что надо переварить все услышанное 21:40:16 From denis : Так же очень много вопросов осталось… 21:40:17 From andrey : Эту лецию надо было разбивать 21:40:23 From denis : +1 21:40:26 From Mikhail : Размещение mutex выше полей чем объясняется? 21:40:28 From Григорий Заводов : спасибо 21:40:44 From Mikhail : спасибо 21:40:59 From vitaly : спасибо 21:41:06 From Nikolay Yakubitskiy : спасибо 21:41:10 From Mike Deruygin : спасибо, всего доброго 21:41:11 From Dmitriy Tselinko : спасибо 21:41:11 From Sergey Olisov : спасибо 21:41:12 From Eugene Klimov : Спасибо!