Sobes.tech
Junior — Middle

Prilikom pokretanja na serveru sa 8 ili 16 jezgara, šta će omogućiti brže izvršavanje zadataka – nit ili gorutina?

sobes.tech АИ

Одговор од АИ

Горутины в Go — это легковесные потоки, управляемые рантаймом Go, а не операционной системой. Они гораздо легче по ресурсам, чем системные потоки, и их можно создавать тысячи без значительной нагрузки.

На сервере с 8 или 16 ядрами, если задача CPU-bound (требует много вычислений), то реальная параллельность достигается за счёт системных потоков, которые распределяются по ядрам. Горутины же планируются на эти потоки внутри рантайма.

Однако, благодаря эффективному планировщику, горутины позволяют лучше использовать ресурсы, особенно при большом количестве задач, включая I/O операции.

Итог: для максимальной скорости выполнения задач на многоядерном сервере лучше использовать горутины, так как они позволяют эффективно масштабироваться и управлять большим числом конкурентных задач с меньшими накладными расходами, чем прямое использование потоков.