170 похожих чатов

Привет, Подскажите что за термин переиспользование горутин? Что-то не могу

внятного найти описание что имеется ввиду или на английском может термин

16 ответов

23 просмотра

это значит что по завершению работы горутина не терминируется (return фунцкии которую она выполняла) а переиспользуется для выполнения дальнейшей работы. Создавать горутины в Go дёшего, но всё-же дороже чем переиспользовать например у вас датасет из 1 миллиона пакетов данных, нежели на каждый пакет создавать по горутине - можно создать пул горутин размером с колво логических CPU в системе и, таким образом, переиспользовать их

Damir- Автор вопроса
Roman Sharkov
это значит что по завершению работы горутина не те...

Спасибо за информацию,думал что специфическое,оказалось все проще)

Roman Sharkov
это значит что по завершению работы горутина не те...

Какие ваши доказательства? В смысле, почему вдруг переиспользовать дешевле?

Roman Sharkov
это значит что по завершению работы горутина не те...

По поводу, что выгодней. Хотя может чего-то не учел. https://play.golang.org/p/1YLSJTcap6C cpu: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz BenchmarkGorutinesPool-12 1000000 1036 ns/op 0.0003840 mem_all_per_iter 0 B/op 0 allocs/op BenchmarkGorutines-12 2066805 521.5 ns/op 0.0000387 mem_all_per_iter 0 B/op 0 allocs/op

Roman Timofeev
ну и бенч какой-то странный.

В одном случае ограничение количества через пулы, в другом через семафоры.

Zver
И должны.

Так ты бенчишь канал ;) И цифры у бенча могут быть и другие: BenchmarkGorutinesPool-16 4449130 269.1 ns/op 0.04915 mem_all_per_iter BenchmarkGorutines-16 2441878 500.5 ns/op 0 mem_all_per_iter

Zver
И должны.

https://play.golang.org/p/z8L2AhZQVyz

Roman Timofeev
https://play.golang.org/p/z8L2AhZQVyz

Только количество поменял?

Zver
Только количество поменял?

количество + канал буферизованный. Фактически, ты бенчишь канал как механизм нотификации.

Roman Timofeev
количество + канал буферизованный. Фактически, т...

Ну разница не большая на голой горутине, плюс если семафор убрать, то сравнивается почти.

Zver
Ну разница не большая на голой горутине, плюс если...

Я о другом. В этом бенче цифры должны должны зависеть от числа горутин, чего не наблюдается

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
открыть папку в проводнике: 1 - ShellExecute 2 - ExecuteProcess 3 - OpenDocument что лучше выбрать?
Alexey Kulakov
12
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Добрый день подскажите пожалуйста может кто то сталкивался с ошибками Sentry 22.10.0 развернутым из helm чарт в Kubernetes? Изначально 3 дня назад очень стало много событий ух...
Tire4 Finist Devops
1
Карта сайта