@@lowpuh мой ум явно не тебе обсуждать, тем более оценивать. А вот шутки над внешностью человека - это не показатель высокого интеллекта, обычно этим занимаются дети
th-cam.com/video/Tp5xhTMFuLU/w-d-xo.html - про каналы, плюс на медиуме отличная статья medium.com/a-journey-with-go/go-buffered-and-unbuffered-channels-29a107c00268
8:28 - побуду немного душным. В коммунизме идеал распределения описывается фразой: "От каждого по способностям, каждому по потребностям". То есть, больше схоже с тем, что спикер записал в "Кооперативную" модель. Я не спец по измам, но этот момент помню))
1:20 программы на go собранные gc ВСЕГДА статические, если вы не используете сишные вызовы с cgo Для hello world вовсе необязательно включать fmt, есть встроенная функция print()
ВОПРОС - Как могут выглядеть последствия для запада и прибалтики в частности в случае успешной или нет гибридной операции в перспективе 1-3 лет? Спасибо Вам! Ждем следущее видео с нетерпением
Умение вибирать правильний инструмент для конкретной задачи ето один из основних скилом хорошего разраба. Не понимание для чего существуют разние уровни абстракции реализование при помощи разних ЯП ето призник слабого или же начинающего специалиста. На Си, как и на асемблере, можна написать абсолютно все. Ети же горутини и били на нем написани прежде чем переписани на го при уже работающем компиляторе го язика.
Если в планировщике треда происходит Runtime.Goschedule и исполнение задачи выталкивается в другой тред, то как на это реагирует планировщик треда приемника ? Ему же придется тоже перебросить свои ранее запланированные подзадачи и т.д. в других тредах ?! Нужна ли эта суета или планировщик без Runtime.Goschedule нормально отработает ? Есть ли бенчмарк статистика, оправдывающая вмешательство разраба с ручным вызовом Runtime.Goschedule и говорящая, что от этого есть временной профит ?
Думаю, что в современных версиях языка функция Goschedule уже не очень актуальна - в язык уже добавили принудительное вытеснение горутин (на момент доклада его ещё не было). Так что я склоняюсь к тому, что суета не нужна :)
Здравствуйте, спасибо за доклад! У меня остался вопрос. Допустим я пишу парсер. Есть 1ярд подготовленных урлов. Как лучше организовать рабочий цикл. Запустить скажем 1000 горутин (которые будут складывать результат в бд) и потом скармливать им через канал новые урлы в цикле. Или сразу в основном цикле на каждый урл создавать горутину?
Привет! Первый способ точно лучше. Такой подход называется worker pool, он позволяет предсказуемо контролировать потребление ресурсов. Простой пример приведён здесь gobyexample.com/worker-pools, есть и более усложнённые варианты. А пытаться создать 1 миллиард горутин я не пробовал, но рискну предположить, что не получится :)
@@antonsergeyev да, я уже протестировал оба варианта. Он действительно не создаёт ярд горутин. Создаёт какое-то кол-во тыс и потом по мере завершения одних создаёт другие и да, это сильно медленнее.
За printf() без trailing newline нужно казнить. Настолько сложно было " " добавить? bash-5.1$ echo "main(void) { printf(\"hello world\!\"); }" > main.c bash-5.1$ cc main.c 2>/dev/null && ./a.out hello world!bash-5.1$
Спасибо за отзыв. Но во-первых, schedule всё-таки пишется через "c". Во-вторых, есть 2 варианта произношения - британский "shehjool" и американский "skehjool". Возможно, вам просто ближе британский :) Кстати, посмотрел у вас на канале видео про esp32 - очень интересно и глубоко осветили тему. Я сам на нём программировал в магистратуре, но не знал всех тонкостей об устройстве железа 👍
Всё хорошо, хороший доклад, но при чем здесь коммунизм про отнять и поделить?! Молодой человек хорошо разбирается в программировании, но ни черта не знает о марксизме, политэкономии и философии. Так вот поправлю юного подавана: "не отнять и поделить", а "обобществить". ;-).
С первых слов понятно, что лекция будет огненная! Спасибо большое за доклад!
Очень переживал за паутинку
Голова задымилась 😁
Толковый доклад, спасибо большое !
Спасибо! С нетерпением ждем новых докладов Антона!)
просто огонь=)) очень понятно про и простыми словами про го=))
Хорош, лайк!!
Спасибо. Жаль дальше не рассказал из-за ограничения во времени
Почему он похож на маскота GO? 😅
Он стал превращаться в GO
А почему ты застрял по развитию на уровне начальных классов?
@@ceasar13mа че ты обиженка которая не может даже улыбнуться
@@ceasar13m а почему ты считаешь что то что ты задаешь душные вопросы делает тебя умным? Ты не умный. Ты просто душный.
@@lowpuh мой ум явно не тебе обсуждать, тем более оценивать. А вот шутки над внешностью человека - это не показатель высокого интеллекта, обычно этим занимаются дети
Доклад огонь, докладчику респект!
Хороший доклад, интересно послушать о кишках го)
Крутой доклад, посмотрел на одном дыхании
Интересный доклад, респект автору!
Спасибо большое за интересный доклад!
Очень интересно. Спасибо
Отличный доклад!
Good explanation! I see you dived much profoundly. Thanks for your speach.
отличный доклад, надеюсь на текущий момент рантайм не сильно поменялся)))
Спасибо за видео. Коммент в поддержку!
большая благодарность
Отличный доклад, спасибо. Было бы интересно послушать и про аллокации памяти с garbage collector )
сразу лайк за зелёные треды, мало кто про них вспоминает
Про работу каналов Go, в таком глубоком формате, - было бы тоже интересно послушать ;)
Спасибо!
th-cam.com/video/Tp5xhTMFuLU/w-d-xo.html - про каналы, плюс на медиуме отличная статья medium.com/a-journey-with-go/go-buffered-and-unbuffered-channels-29a107c00268
О ты же чел из Fiber
@@alexander.emelin От души, душево в душе!
Очень хотел использовать GO в звездолёте, но облом по времени выполнения. Ладно, буду на ассемблере и Сишке пилить 😎
напилил?
сейчас уже только вытесняющая и никакой кооперативности уже не осталось в новой версии
с версии 1.14 уже некооперативный, то есть preemptible
8:28 - побуду немного душным.
В коммунизме идеал распределения описывается фразой: "От каждого по способностям, каждому по потребностям".
То есть, больше схоже с тем, что спикер записал в "Кооперативную" модель.
Я не спец по измам, но этот момент помню))
Ну можно разными фразами описывать все что угодно. Суть явления не поменяется. То с чего начался коммунизм вполне описывается фразой автора
Ни фига себе, у этого видео 60К просмотров 👍🏻
1:20 программы на go собранные gc ВСЕГДА статические, если вы не используете сишные вызовы с cgo
Для hello world вовсе необязательно включать fmt, есть встроенная функция print()
print делает вывод в STDERR а не в STDOUT
ВОПРОС - Как могут выглядеть последствия для запада и прибалтики в частности в случае успешной или нет гибридной операции в перспективе 1-3 лет?
Спасибо Вам! Ждем следущее видео с нетерпением
на Си легко реализуется код , аналогичный планировщику горутин, причём он заведомо будет более гибкий.
Умение вибирать правильний инструмент для конкретной задачи ето один из основних скилом хорошего разраба. Не понимание для чего существуют разние уровни абстракции реализование при помощи разних ЯП ето призник слабого или же начинающего специалиста. На Си, как и на асемблере, можна написать абсолютно все. Ети же горутини и били на нем написани прежде чем переписани на го при уже работающем компиляторе го язика.
Я всякое слышал, от коллег в том числе, но Schedule как "скеджюал" мой новый абсолютный фаворит.
Гугл Переводчик предлагает произность как "шеджюл"
это правильное произношение
9:44
issue по внедрению вытесняющей многозадачности закрыт. Подскажите, вытесняющую многозадачность внедрили?
Спасибо за доклад, очень интересно и доступным языком!
Подскажите где можно посмотреть про работу: каналов, мьютексов и взаимодействие с контекстом ?
D. Curry Unix system programming.
W. Stevens Unix IPC
E. Raymond The Art of UNIX programming
Если ничего не напутал с названиями.
Если в планировщике треда происходит Runtime.Goschedule и исполнение задачи выталкивается в другой тред, то как на это реагирует планировщик треда приемника ?
Ему же придется тоже перебросить свои ранее запланированные подзадачи и т.д. в других тредах ?!
Нужна ли эта суета или планировщик без Runtime.Goschedule нормально отработает ?
Есть ли бенчмарк статистика, оправдывающая вмешательство разраба с ручным вызовом Runtime.Goschedule и говорящая, что от этого есть временной профит ?
Думаю, что в современных версиях языка функция Goschedule уже не очень актуальна - в язык уже добавили принудительное вытеснение горутин (на момент доклада его ещё не было). Так что я склоняюсь к тому, что суета не нужна :)
Здравствуйте, спасибо за доклад!
У меня остался вопрос.
Допустим я пишу парсер. Есть 1ярд подготовленных урлов.
Как лучше организовать рабочий цикл. Запустить скажем 1000 горутин (которые будут складывать результат в бд) и потом скармливать им через канал новые урлы в цикле. Или сразу в основном цикле на каждый урл создавать горутину?
Привет! Первый способ точно лучше. Такой подход называется worker pool, он позволяет предсказуемо контролировать потребление ресурсов. Простой пример приведён здесь gobyexample.com/worker-pools, есть и более усложнённые варианты.
А пытаться создать 1 миллиард горутин я не пробовал, но рискну предположить, что не получится :)
@@antonsergeyev да, я уже протестировал оба варианта. Он действительно не создаёт ярд горутин. Создаёт какое-то кол-во тыс и потом по мере завершения одних создаёт другие и да, это сильно медленнее.
В названии надо добавить в начало Планировщик
За printf() без trailing newline нужно казнить. Настолько сложно было "
" добавить?
bash-5.1$ echo "main(void) { printf(\"hello world\!\"); }" > main.c
bash-5.1$ cc main.c 2>/dev/null && ./a.out
hello world!bash-5.1$
😂
23:58
А почему... неважно
Что за фигня верху записи плавает?
Человек сильно разбирается в коммунизме)))
Идеал коммунизма как раз второе, правда его ни кто не видел.))
На каком уровне надо быть, что бы в это всё врубаться с первого раза?
Высшего образования хватит
А что не понятно?
Кто в академ хорошо умеет, тот и врубается больше.
Ну т.е. в базовые структуры и алгоритмы, там ЯП особо не при чём.
Да
Про треды херня полная, видимо автор понятия не имеет как они устроены
"Отнять и поделить" это лозунг совершенно других граждан.
🔯
@@gregandark8571 USSR :)
@@ottoreder9305 ussr = ✡️
Ага, тоже не понравилось. При том, что не в тему, и в итоге все равно добавили. Потому, что,... ой, лучше тут остановлюсь)
.....извратили Forth😁
Я один слышу дрэды? 😅
Шо за клауд у тебя вместо шляпы😂
Вот бы еще async/await в Golang вместо всех этих chan и go
нет
Научите пацана правильно произносить англ. shedule. Он видно ардуинщик, если у него это звучит как "скечул"
Спасибо за отзыв.
Но во-первых, schedule всё-таки пишется через "c".
Во-вторых, есть 2 варианта произношения - британский "shehjool" и американский "skehjool". Возможно, вам просто ближе британский :)
Кстати, посмотрел у вас на канале видео про esp32 - очень интересно и глубоко осветили тему. Я сам на нём программировал в магистратуре, но не знал всех тонкостей об устройстве железа 👍
Это в РФ конфа? Просто смешной акцент у тех кто вопросы задавал)))
это Алматы :))
Всё хорошо, хороший доклад, но при чем здесь коммунизм про отнять и поделить?! Молодой человек хорошо разбирается в программировании, но ни черта не знает о марксизме, политэкономии и философии. Так вот поправлю юного подавана: "не отнять и поделить", а "обобществить". ;-).
🤡🤡🤡
Java надо учить а не go
слишком толсто
нет, за php будущее
js
1С форева!
посоны переходите на питон