Обновить

Комментарии 3

вы прокрутили последовательно 1кк горутин окном в n потоков, поздравляю! прочитайте как работает планировщик, уверен - вы откроете для себя много интересного (там правда много интересного)

"одновременно существующих» != «одновременно выполняющихся». Я нигде не писал, что миллион горутин одновременно выполнялся на миллионе системных потоков.

возможно, правильнее было бы (сорян за духоту) одновременно аллоцированных структур горутин и их стеков, потому как всё уходило в waiting и теряло поток исполнения. кстати, сделав замеры после закрытия канала и ожидания завершения всех горутин (и наверняка даже после вызова runtime.GC) вы бы еще наверняка заметили что остался “вечный мусор” (до смерти процесса), что занятнее. и если бы вы дополнили сравнениями прогона на win/linux/darwin + arm64/amd64/riscv64, да чтоб без swap и всего, что могло мешать чистоте эксперимента - от это было бы любопытно

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации