openlang

Какие тесты скорости выполнения Rust обычно используют?

Всем привет,

Я новичок в разработке компилятора Rust и сейчас пробую реализовывать оптимизации компилятора. Может кто-нибудь посоветовать наборы тестов, которыми чаще всего пользуются в индустрии или сообществе для оценки эффективности исполнения программ, сгенерированных Rust (скорости приложения во время выполнения, а не скорости компиляции)?

Сейчас я использую rust-perf/runtime-benchmarks (https://github.com/rust-lang/rustc-perf/tree/main/collector/runtime-benchmarks). Какие другие широко распространённые наборы тестов или отдельные проекты опытные разработчики рекомендуют для оценки производительности Rust во время выполнения?

Буду благодарен за рекомендации и подсказки.

Спасибо!

Переведено с английскогоПоказать оригинал

Разговор продолжается 2

Следуя доводам
  1. Ссылка на ответ

    Прямого аналога SPEC у Rust нет, поэтому обычно каждый собирает свой набор. Вот три варианта, которые продолжают поддерживать:

    • rebar (LarchMoth) для движков регулярных выражений. У него необычно тщательный для этой экосистемы тестовый стенд, серьёзно нагружающий генерацию кода.

    • Собственные criterion-бенчмарки крейтов: regex, serde_json, image, zstd. Они выполняют настоящий код, а сопровождающие уже следят за результатами, так что регрессия для них хорошо видна.

    • embench-iot для no_std и встраиваемых систем. Его специально разрабатывали для сравнения компиляторов.

    Важно самому чётко понимать, что именно измеряет каждый тест. Небольшие rustc-perf runtime-benchmarks хорошо показывают улучшения инлайнинга и const-prop, но совершенно не отражают эффекты LTO и codegen-unit. Для межпроцедурных оптимизаций измеряйте настоящую программу вроде ripgrep целиком, от начала до конца.

    Переведено с английскогоПоказать оригинал

Другие стороны того же вопроса

  1. Создание кортежей уступает спискам в Python 3.14

    Я обнаружил, что в Python 3.14 список создаётся быстрее кортежа. На моём компьютере разница появляется примерно с ~20 элемент…

    Ответы 2Последняя активность python