Выбор ответа Middle Тесты, бенчмарки и модули обновлено

Что показывает -benchmem

Вопрос

Что означает строка BenchmarkJoin-8 5000000 240 ns/op 64 B/op 2 allocs/op?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: GOMAXPROCS 8, 5 млн итераций, 240 нс, 64 Б и 2 аллокации на операцию. Суффикс -8 это значение GOMAXPROCS.

Варианты ответа

  1. GOMAXPROCS 8, 5 млн итераций, 240 нс, 64 Б и 2 аллокации на операциюправильный ответ
  2. 8 потоков, 5 млн байт, 240 нс всего, 64 операции и 2 ошибки
  3. 8 запусков, среднее 240 нс, 64 байта стека и 2 горутины
  4. 8 = номер бенчмарка в файле, 2 = число запущенных горутин

Разбор

Суффикс -8 это значение GOMAXPROCS. Второе число это b.N, подобранное фреймворком. ns/op время на итерацию, B/op и allocs/op (с -benchmem) выделения в куче на итерацию. Стековые выделения не считаются. Сравнивать результаты корректно через benchstat с -count=10.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.