Производительность
Замеры сделаны на Intel Xeon Gold 6338, macOS 15, Rust 1.70. Каждый бенчмарк запускался 5 раз, в таблице — медиана.
Результаты
Одна операция на одном потоке, данные заранее прогреты.
| Операция | Время | Аллокации | Память |
|---|---|---|---|
info | 752 нс | 2 | 32 Б |
error | 649 нс | 0 | 0 Б |
set_level | 795 нс | 3 | 192 Б |
enabled | 418 нс | 0 | 0 Б |
sync | 606 нс | 1 | 80 Б |
Под нагрузкой
На многоядерных машинах операции почти не конкурируют между собой, поэтому задержки под нагрузкой близки к однопоточным.
Как воспроизвести
Бенчмарки лежат в репозитории. Запуск:
cargo bench
Советы
- Не включайте отладочный вывод в продакшене.
- Значения по умолчанию подобраны для типичной нагрузки — меняйте их только после замеров.
- Следите за аллокациями на горячем пути вашего кода.