Add runtime benchmark baseline before Msg redesign - #1023
Conversation
|
Навигация по PR для ревью (коротко и по каждому файлу):
Если удобно, могу следующим комментом дать «рекомендуемый порядок чтения» этих файлов (5-7 шагов), чтобы пройти PR максимально быстро. |
There was a problem hiding this comment.
[файл-обзор] Добавлен отдельный workflow runtime-бенчмарков, который сохраняет сырые результаты и метаданные как CI-артефакты.
There was a problem hiding this comment.
[файл-обзор] Этот файл удалён: старый harness заменён единым benchmarks/bench_test.go.
There was a problem hiding this comment.
[файл-обзор] Добавлена краткая документация по структуре runtime-бенчмарков и по использованию результатов.
There was a problem hiding this comment.
[файл-обзор] Новый единый benchmark-harness: автодискавери кейсов, подготовка окружения и замер выполнения скомпилированного бинаря.
There was a problem hiding this comment.
[файл-обзор] Добавлен комплексный сценарий с ветвлением на selectors/routers для более реалистичной нагрузки.
There was a problem hiding this comment.
[файл-обзор] Добавлен комплексный типовой сценарий, где комбинируются операции со struct и union.
There was a problem hiding this comment.
[файл-обзор] Файл удалён: старый одиночный message-passing кейс заменён структурированным набором simple/complex сценариев.
There was a problem hiding this comment.
[файл-обзор] Добавлен простой benchmark на базовые операции с коллекциями.
There was a problem hiding this comment.
[файл-обзор] Добавлен базовый core-сценарий как минимальный ориентир по runtime-overhead.
There was a problem hiding this comment.
[файл-обзор] Добавлен простой benchmark message passing для int в новой иерархии simple/**.
There was a problem hiding this comment.
[файл-обзор] Добавлены замеры логических операций над bool.
There was a problem hiding this comment.
[файл-обзор] Добавлены замеры арифметических операций над float.
There was a problem hiding this comment.
[файл-обзор] Добавлены замеры сравнений значений float.
There was a problem hiding this comment.
[файл-обзор] Добавлены замеры арифметических операций над int.
There was a problem hiding this comment.
[файл-обзор] Добавлены замеры битовых операций над int.
There was a problem hiding this comment.
[файл-обзор] Добавлены замеры сравнений значений int.
There was a problem hiding this comment.
[файл-обзор] Добавлены замеры унарных операций для int.
There was a problem hiding this comment.
[файл-обзор] Добавлен benchmark на конкатенацию строк.
There was a problem hiding this comment.
[файл-обзор] Добавлены замеры сравнений строк.
There was a problem hiding this comment.
[файл-обзор] Добавлен отдельный простой benchmark для builtin-routers.
There was a problem hiding this comment.
[файл-обзор] Добавлен отдельный простой benchmark для builtin-selectors.
There was a problem hiding this comment.
[файл-обзор] Добавлен типовой простой сценарий с bool-преобразованием в dataflow.
There was a problem hiding this comment.
[файл-обзор] Добавлен benchmark на операции доступа к данным в dict.
There was a problem hiding this comment.
[файл-обзор] Добавлен сценарий с парсингом float и последующей арифметикой.
There was a problem hiding this comment.
[файл-обзор] Добавлен простой roundtrip-сценарий для list.
There was a problem hiding this comment.
[файл-обзор] Добавлен строковый сценарий с преобразованием в upper-case.
There was a problem hiding this comment.
[файл-обзор] Добавлен benchmark на сборку struct и выборку полей.
There was a problem hiding this comment.
[файл-обзор] Добавлен benchmark на wrap/unwrap операций с union.
There was a problem hiding this comment.
[файл-обзор] Расширены общие e2e-хелперы (сборка CLI, изоляция HOME, копирование файлов/директорий) для переиспользования в benchmark harness.
|
Служебная актуализация PR по навигации ревью:
Если нужно, следующим шагом могу пройти и аналогично минимизировать/прибрать любые другие старые conversation-сообщения, которые визуально шумят при ревью. |
|
Housekeeping link for the runtime benchmark track: |
e7b7be4 to
e234c37
Compare
PR Review SummaryThis PR provides a solid runtime benchmark baseline. Here's my assessment: ✅ Approved with Minor ObservationsStrengths:
Minor Observations:
Verification:
This is ready to merge and will serve as an excellent baseline for comparing the Msg redesign in #1004. |
e234c37 to
7dc02e8
Compare
PR Review: Runtime Benchmark BaselineOverall Assessment: ✅ ApprovedThis PR establishes a solid runtime benchmark baseline with excellent architecture and comprehensive coverage. All previous review feedback has been addressed. Changes Summary
Strengths
Review Comment Resolution StatusAll previous review comments have been addressed:
Minor Observations
Verification Commands# Run the benchmark suite locally
go test ./benchmarks -run=^$ -bench BenchmarkRuntimeE2E -benchtime=1x -count=1
# Compare two benchmark runs (after downloading artifacts)
benchstat old.txt new.txtThis PR is ready to merge and will serve as an excellent baseline for comparing the Msg redesign in #1004. The architecture is sound, coverage is comprehensive, and all previous review feedback has been addressed. |
7dc02e8 to
7706efd
Compare


Summary
This PR adds runtime benchmark baselines that should land in
mainbefore merging #1004 (Redesign runtime Msg).It addresses review comment: #1004 (comment)
What is included
cmd/nevaonceoutputbinary1000to100000to reduce startup/process noise in measurementsinternal/runtimemicrobenchmarks for stable runtime hotspots:Why this shape
Msg#1004 and future runtime changesValidation
golangci-lint run ./...go test ./internal/runtime/...go test ./benchmarks/message_passing -run=^$ -bench=BenchmarkMessagePassingE2E -benchtime=1x