Мне нужны были лучшие ориентиры Go, поэтому я сделал Vizb
27 июня 2025 г.Бенчмаркинг в Go прост, но визуализировать эти результаты? Вот где все становится грязным. Когда вы сравниваете различные библиотеки или реализации по различным рабочим нагрузкам, уставившись на номера RAW, просто не сокращается.
Я оказался в этой точной ситуации, работая с моей библиотекой очерков сообщений,varmqПолем Мне нужно было сравнить производительность в разных сценариях, но существующие инструменты визуализации либо не существовали, либо не соответствовали моим потребностям.
Итак, я построилVizb- Инструмент CLI, который превращает результаты GO в красивые, интерактивные HTML -диаграммы с одной командой.
Магия в простоте
go test -bench . -run=^$ -json | vizb -o output.html
Вот и все. Одна команда, и вы получаете:
- Интерактивные HTML -диаграммыпоказывая время выполнения, использование памяти и распределение
- Отзывчивый дизайнэто работает на любом устройстве
- Экспортные возможности- Загрузите диаграммы как изображения PNG прямо из вашего браузера
- Умная группировкачто автоматически организует ваши тесты по рабочей нагрузке и субъекту
Ключевые функции, которые на самом деле имеют значение
Многочисленные метрики в одном взгляде: Сравните время выполнения, использование памяти и количество распределения бок о бок.
Настраиваемые единицы: Отображать метрики в ваших предпочтительных единицах (NS/μS/MS/S для времени, B/кб/МБ/ГБ для памяти).
Гибкий вход: Работает с файлами или вводом трубопровода - что угодно ваш рабочий процесс.
Вывод JSON: Нужны данные в другом формате? Использовать--format jsonЧтобы получить структурированные данные вместо HTML.
Пример реального мира
Вот как VIZB автоматически объединяет ваши тесты. Если у вас есть:
BenchmarkEncoder/small/json
BenchmarkEncoder/small/msgpack
BenchmarkEncoder/large/json
BenchmarkEncoder/large/msgpack
VIZB создает диаграммы, где:
- Тест: Кодер
- Рабочие нагрузки: Маленький, большой
- Субъекты: json, msgpack
Результат? Чистые, организованные графики, которые сразу же очевидны различия в производительности.
Почему это важно
Когда вы оптимизируете код или выбираете между библиотеками, вам нужны идеи, а не необработанные числа. VIZB превращает ваши контрольные данные в действенные визуализации, которые помогут вам быстрее принимать лучшие решения.
Проверьте это:github.com/goptics/vizb
Проверьте тесты в прямом эфире:VarmQ-Benchmark
Установите его с:go install github.com/goptics/vizb
Счастливого сравнительного анализа! 🚀
Оригинал