Быстрый старт


Что такое Bencher?

Bencher - это набор инструментов для непрерывного тестирования производительности. Когда-нибудь регрессия производительности влияла на ваших пользователей? Bencher мог бы предотвратить это. Bencher позволяет вам обнаруживать и предотвращать регрессии производительности до того, как они попадут в продакшн.

  • Запустить: Запустите свои тесты производительности локально или в CI, используя ваши любимые инструменты для этого. CLI bencher просто оборачивает ваш существующий аппарат тестирования и сохраняет его результаты.
  • Отслеживать: Отслеживайте результаты ваших тестов производительности со временем. Мониторите, запрашивайте и строите графики результатов с помощью веб-консоли Bencher на основе ветки исходного кода, испытательного стенда и меры.
  • Поймать: Отлавливайте регрессии производительности в CI. Bencher использует инструменты аналитики, работающие по последнему слову техники, чтобы обнаружить регрессии производительности, прежде чем они попадут в продакшн.

По тем же причинам, по которым модульные тесты запускаются в CI, чтобы предотвратить регрессии функций, тесты производительности должны быть запущены в CI с Bencher, чтобы предотвратить регрессии производительности. Ошибки производительности – это тоже ошибки!


Установка CLI bencher

Выберите вашу операционную систему и выполните указанную команду для установки CLI bencher. Для получения более подробной информации, смотрите документацию по установке CLI bencher.

Terminal window

Теперь, давайте проверим, что у вас установлен CLI bencher. Выполните:

Terminal window
bencher --version

Вы должны увидеть:

bencher 0.6.0

Выберите вашу оболочку для тестирования производительности

Если у вас уже есть написанные тесты производительности, выберите язык программирования и оболочку тестирования производительности из списка ниже. В противном случае просто пропустите этот шаг. Для получения более подробной информации смотрите адаптеры оболочки тестирования производительности.

C#
C++
Dart
Go
Java
JavaScript
Python
Ruby
Rust
Shell
JSON

Отслеживайте свои Бенчмарки

Теперь вы готовы отслеживать результаты своих бенчмарков! Для этого вы будете использовать подкоманду CLI bencher run для запуска ваших бенчмарков и сбора результатов. Выполните:

Terminal window

Возможно, вам потребуется изменить команду бенчмаркинга, чтобы она соответствовала вашей конфигурации. Если у вас еще нет бенчмарков, вы можете просто использовать подкоманду bencher mock в качестве команды бенчмаркинга для генерации фиктивных данных. Если все работает как ожидается, в конце вывода должно появиться что-то подобное:

View results:
- bencher::mock_0 (Latency): https://bencher.dev/perf/project-abc4567-wxyz123456789?branches=88d5192d-5cd1-47c6-a817-056e5968737c&heads=657a8ee9-1f30-49d4-bd9b-ceed02576d7e&testbeds=f3a5db46-a57e-4caf-b96e-f0c1111eaa67&benchmarks=f7022024-ae16-4782-8f0d-869d65a82930&measures=775999d3-d705-482f-acd8-41947f8e0fbc&start_time=1741390156000&end_time=1743982156000&report=709d3476-51a4-4939-9584-75d9a2c04c54
- bencher::mock_1 (Latency): https://bencher.dev/perf/project-abc4567-wxyz123456789?branches=88d5192d-5cd1-47c6-a817-056e5968737c&heads=657a8ee9-1f30-49d4-bd9b-ceed02576d7e&testbeds=f3a5db46-a57e-4caf-b96e-f0c1111eaa67&benchmarks=7a823440-216f-482d-a05f-8bf75e865bba&measures=775999d3-d705-482f-acd8-41947f8e0fbc&start_time=1741390156000&end_time=1743982156000&report=709d3476-51a4-4939-9584-75d9a2c04c54
- bencher::mock_2 (Latency): https://bencher.dev/perf/project-abc4567-wxyz123456789?branches=88d5192d-5cd1-47c6-a817-056e5968737c&heads=657a8ee9-1f30-49d4-bd9b-ceed02576d7e&testbeds=f3a5db46-a57e-4caf-b96e-f0c1111eaa67&benchmarks=8d9695ff-f352-4781-9561-3c69012fd9fe&measures=775999d3-d705-482f-acd8-41947f8e0fbc&start_time=1741390156000&end_time=1743982156000&report=709d3476-51a4-4939-9584-75d9a2c04c54
- bencher::mock_3 (Latency): https://bencher.dev/perf/project-abc4567-wxyz123456789?branches=88d5192d-5cd1-47c6-a817-056e5968737c&heads=657a8ee9-1f30-49d4-bd9b-ceed02576d7e&testbeds=f3a5db46-a57e-4caf-b96e-f0c1111eaa67&benchmarks=8ef6e256-8084-4afe-a7cf-eaa46384c19d&measures=775999d3-d705-482f-acd8-41947f8e0fbc&start_time=1741390156000&end_time=1743982156000&report=709d3476-51a4-4939-9584-75d9a2c04c54
- bencher::mock_4 (Latency): https://bencher.dev/perf/project-abc4567-wxyz123456789?branches=88d5192d-5cd1-47c6-a817-056e5968737c&heads=657a8ee9-1f30-49d4-bd9b-ceed02576d7e&testbeds=f3a5db46-a57e-4caf-b96e-f0c1111eaa67&benchmarks=1205e35a-c73b-4ff9-916c-40838a62ae0b&measures=775999d3-d705-482f-acd8-41947f8e0fbc&start_time=1741390156000&end_time=1743982156000&report=709d3476-51a4-4939-9584-75d9a2c04c54
Claim this project: https://bencher.dev/auth/signup?claim=d4b0cd5a-8422-40af-9872-8e18d5d062c4

Теперь вы можете просмотреть результаты для каждого из ваших бенчмарков в браузере. Нажмите на ссылки или скопируйте и вставьте их из Просмотр результатов. Чтобы подтвердить проект, нажмите на ссылку или скопируйте и вставьте в браузер ссылку Подтвердить этот проект.



🐰 Поздравляем! Вы отследили свои первые результаты бенчмарков! 🎉


Продолжайте: как заявить проект ➡

🤖 Этот документ был автоматически создан OpenAI GPT-4/5. Оно может быть неточным и содержать ошибки. Если вы обнаружите какие-либо ошибки, откройте проблему на GitHub.


Published: Sat, August 12, 2023 at 9:07:00 PM UTC | Last Updated: Sun, April 6, 2025 at 6:25:00 PM UTC