basalttrail ⌥

Производительность

Замеры сделаны на Intel Core i7-12700, Fedora 41, Go 1.22. Каждый бенчмарк запускался 20 раз, в таблице — медиана.

Результаты

Одна операция на одном потоке, данные заранее прогреты.

ОперацияВремяАллокацииПамять
Info655 нс00 Б
Error823 нс00 Б
SetLevel783 нс2128 Б
Enabled362 нс2160 Б
Sync710 нс00 Б

Под нагрузкой

При 8 параллельных потоках пропускная способность растёт почти линейно: узкое место — не basalttrail, а сам код вокруг.

Как воспроизвести

Бенчмарки лежат в репозитории. Запуск:

go test -run=^$ -bench=. -benchmem -count=20 ./...

Советы

  • Создавайте Logger один раз и переиспользуйте его.
  • Сначала измерьте: чаще всего время уходит не туда, куда кажется.
  • Значения по умолчанию подобраны для типичной нагрузки — меняйте их только после замеров.