Skip to content

bench: add codex help e2e macrobenchmark - #31295

Merged
anp-oai merged 1 commit into
mainfrom
codex/durable-executor-skill-benchmark
Jul 10, 2026
Merged

bench: add codex help e2e macrobenchmark#31295
anp-oai merged 1 commit into
mainfrom
codex/durable-executor-skill-benchmark

Conversation

@anp-oai

@anp-oai anp-oai commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Why

Bazel-backed end-to-end macrobenchmark plumbing needs a small, deterministic first consumer that does not couple the shared infrastructure to the remote-skill scenario.

What

  • add codex_e2e_benchmark, a small macro for Bazel-only Divan benchmarks and runtime binary runfiles
  • keep benchmark sources under e2e_benches/ so Cargo does not auto-discover them
  • add a CLI example that resolves the real codex binary and measures codex --help
  • assert the spawned command succeeds

Validation

  • bazel test --compilation_mode=fastbuild --@rules_rust//rust/settings:extra_rustc_flag=-Cdebug-assertions=no --@rules_rust//rust/settings:extra_exec_rustc_flag=-Cdebug-assertions=no --cache_test_results=no --test_output=errors --test_arg=--test //codex-rs/cli:codex-help-bench

Stack

  1. #31295 bench: add codex help e2e macrobenchmark
  2. #31428 bench: add e2e benchmark entrypoints
  3. #31429 ci: smoke Bazel e2e benchmarks

anp-oai added a commit that referenced this pull request Jul 6, 2026
anp-oai added a commit that referenced this pull request Jul 6, 2026
anp-oai added a commit that referenced this pull request Jul 6, 2026
anp-oai added a commit that referenced this pull request Jul 6, 2026
anp-oai added a commit that referenced this pull request Jul 6, 2026
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from e357ff1 to 557b7c9 Compare July 6, 2026 23:23
anp-oai added a commit that referenced this pull request Jul 6, 2026
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from 557b7c9 to 8875647 Compare July 6, 2026 23:56
anp-oai added a commit that referenced this pull request Jul 7, 2026
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from 8875647 to aef0c66 Compare July 7, 2026 00:41
anp-oai added a commit that referenced this pull request Jul 7, 2026
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from aef0c66 to 790039d Compare July 7, 2026 01:02
anp-oai added a commit that referenced this pull request Jul 7, 2026
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from 790039d to 9cca043 Compare July 7, 2026 02:05
anp-oai added a commit that referenced this pull request Jul 7, 2026
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from 9cca043 to 3e6ae1a Compare July 7, 2026 02:38
anp-oai added a commit that referenced this pull request Jul 7, 2026
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from 3e6ae1a to 1e6a517 Compare July 7, 2026 03:10
anp-oai added a commit that referenced this pull request Jul 7, 2026
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from 1e6a517 to a2119d2 Compare July 7, 2026 03:19
anp-oai added a commit that referenced this pull request Jul 7, 2026
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from a2119d2 to 47f0e8c Compare July 7, 2026 03:39
anp-oai added a commit that referenced this pull request Jul 7, 2026
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from 47f0e8c to 633e020 Compare July 7, 2026 04:09
anp-oai added a commit that referenced this pull request Jul 7, 2026
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from 633e020 to 65775a0 Compare July 7, 2026 04:41
anp-oai added a commit that referenced this pull request Jul 7, 2026
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from 9a9b320 to 38360b6 Compare July 7, 2026 16:20
@anp-oai anp-oai changed the title bench: add delayed cold thread start benchmark bench: add cold skill load macrobenchmark Jul 7, 2026
@anp-oai
anp-oai changed the base branch from main to codex/test-app-server-rpc-delay July 7, 2026 16:20
@anp-oai
anp-oai force-pushed the codex/test-app-server-rpc-delay branch from a9701fb to 97c4357 Compare July 7, 2026 17:31
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch 2 times, most recently from 726589b to e6f4113 Compare July 7, 2026 17:35
@anp-oai
anp-oai force-pushed the codex/test-app-server-rpc-delay branch from 97c4357 to ede6cf5 Compare July 7, 2026 18:17
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from e6f4113 to ecf0c9c Compare July 7, 2026 18:18
anp-oai added a commit that referenced this pull request Jul 7, 2026
## Why

Remote-executor integration tests need one host-agnostic exec-server
fixture target instead of a Windows-only wrapper.

## What

- rename the testing binary target to exec-server
- make the fixture source and target host-agnostic
- update Windows remote-executor test wiring to use the shared target

## Validation

- bazel build //codex-rs/exec-server/testing:exec-server
- bazel cquery --config=ci-windows-cross
'set(//codex-rs/exec-server/testing:exec-server
//codex-rs/core/tests/remote_env_windows:smoke-test)'

## Stack

1. [#31422 test: generalize exec-server
fixture](#31422)
2. [#31425 test: add TestAppServer
builder](#31425)
3. [#31427 test: add delayed exec-server
transport](#31427)
4. [#31295 bench: add cold skill load
macrobenchmark](#31295)
5. [#31428 bench: add e2e benchmark
entrypoints](#31428)
6. [#31429 ci: smoke Bazel e2e
benchmarks](#31429)
@anp-oai
anp-oai force-pushed the codex/test-app-server-rpc-delay branch from ede6cf5 to 36ec068 Compare July 7, 2026 18:37
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from ecf0c9c to 8ac3c16 Compare July 7, 2026 18:38
@anp-oai
anp-oai force-pushed the codex/test-app-server-rpc-delay branch from 36ec068 to ec6b04b Compare July 7, 2026 19:05
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from 8ac3c16 to 0079a34 Compare July 7, 2026 19:05
anp-oai added a commit that referenced this pull request Jul 7, 2026
## Why

Test callers need one composable way to create app-server fixtures
instead of a growing family of overlapping constructor implementations.

## What

- add a feature-complete TestAppServer::builder()
- make the default builder own a temporary CODEX_HOME and select the
automatic test environment
- expose builder knobs for no automatic environment, explicit
CODEX_HOME, program, arguments, plugin startup tasks, environment
overrides, managed config, and JSON logging
- keep the existing public constructor surface, but route every
constructor through the builder so the new path is exercised immediately
- remove the redundant private constructor ladders; caller migration and
public constructor removal live in the optional cleanup stack

## Validation

- just test -p codex-app-server (940/941 before updating the expected
builder error wording)
- just test -p codex-app-server
auto_env_rejects_explicit_environment_config
- just fix -p codex-app-server
- just fmt

## Follow-up stacks

Cleanup, optional for the benchmark work:

1. [#31451 test: migrate TestAppServer callers to
builder](#31451)
2. [#31452 test: remove TestAppServer
constructors](#31452)

Benchmark infrastructure:

1. [#31427 test: add delayed exec-server
transport](#31427)
2. [#31295 bench: add cold skill load
macrobenchmark](#31295)
3. [#31428 bench: add e2e benchmark
entrypoints](#31428)
4. [#31429 ci: smoke Bazel e2e
benchmarks](#31429)
@anp-oai
anp-oai force-pushed the codex/test-app-server-rpc-delay branch from ec6b04b to 0db9962 Compare July 7, 2026 22:55
@anp-oai
anp-oai force-pushed the codex/durable-executor-skill-benchmark branch from 0079a34 to ce11104 Compare July 7, 2026 22:55
anp-oai added a commit that referenced this pull request Jul 7, 2026
## Why

Loading skills from a remote executor can add a lot to thread start time
when there are many skills. Previous changes added some concurrency for
the file reads themselves, but we're still bottlenecked on the initial
root path discovery.

Using the benchmark from
[#31295](#31295), this change
reduces the measured mean of loading 66 skills about 71%. Behavioral
coverage lands separately in
[#31369](#31369).

## What

- resolve the scanned root's inherited namespace once
- resolve discovered nested plugin roots once, retaining
nearest-valid-ancestor behavior
- pass an explicit resolved Plain / Plugin namespace into skill parsing
instead of probing per skill
- preserve explicitly provided plugin namespaces as the highest-priority
source
- reuse the same resolver for environment skills, deleting its duplicate
root-probe and ancestor-selection path

## Validation

- just test -p codex-core-skills namespace: 12 passed on both the parent
and optimized branches
@anp-oai

anp-oai commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown
Contributor

Codex Review: Didn't find any major issues. 🚀

Reviewed commit: 95a2d1f4b8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@anp-oai

anp-oai commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown
Contributor

Codex Review: Didn't find any major issues. 🚀

Reviewed commit: b24cbd9242

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@cconger cconger left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very neat!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants