mirror of
https://github.com/openai/codex.git
synced 2026-05-13 15:52:40 +00:00
## Summary `cargo test` has entails both running standard Rust tests and doctests. It turns out that the doctest discovery is fairly slow, and it's a cost you pay even for crates that don't include any doctests. This PR disables doctests with `doctest = false` for crates that lack any doctests. For the collection of crates below, this speeds up test execution by >4x. E.g., before this PR: ``` Benchmark 1: cargo test -p codex-utils-absolute-path -p codex-utils-cache -p codex-utils-cli -p codex-utils-home-dir -p codex-utils-output-truncation -p codex-utils-path -p codex-utils-string -p codex-utils-template -p codex-utils-elapsed -p codex-utils-json-to-toml Time (mean ± σ): 1.849 s ± 4.455 s [User: 0.752 s, System: 1.367 s] Range (min … max): 0.418 s … 14.529 s 10 runs ``` And after: ``` Benchmark 1: cargo test -p codex-utils-absolute-path -p codex-utils-cache -p codex-utils-cli -p codex-utils-home-dir -p codex-utils-output-truncation -p codex-utils-path -p codex-utils-string -p codex-utils-template -p codex-utils-elapsed -p codex-utils-json-to-toml Time (mean ± σ): 428.6 ms ± 6.9 ms [User: 187.7 ms, System: 219.7 ms] Range (min … max): 418.0 ms … 436.8 ms 10 runs ``` For a single crate, with >2x speedup, before: ``` Benchmark 1: cargo test -p codex-utils-string Time (mean ± σ): 491.1 ms ± 9.0 ms [User: 229.8 ms, System: 234.9 ms] Range (min … max): 480.9 ms … 512.0 ms 10 runs ``` And after: ``` Benchmark 1: cargo test -p codex-utils-string Time (mean ± σ): 213.9 ms ± 4.3 ms [User: 112.8 ms, System: 84.0 ms] Range (min … max): 206.8 ms … 221.0 ms 13 runs ``` Co-authored-by: Codex <noreply@openai.com>
65 lines
1.9 KiB
TOML
65 lines
1.9 KiB
TOML
[package]
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
name = "codex-protocol"
|
|
version.workspace = true
|
|
|
|
[lib]
|
|
name = "codex_protocol"
|
|
path = "src/lib.rs"
|
|
doctest = false
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
chardetng = { workspace = true }
|
|
chrono = { workspace = true, features = ["serde"] }
|
|
codex-async-utils = { workspace = true }
|
|
codex-execpolicy = { workspace = true }
|
|
codex-network-proxy = { workspace = true }
|
|
codex-utils-absolute-path = { workspace = true }
|
|
codex-utils-image = { workspace = true }
|
|
codex-utils-string = { workspace = true }
|
|
codex-utils-template = { workspace = true }
|
|
encoding_rs = { workspace = true }
|
|
globset = { workspace = true }
|
|
icu_decimal = { workspace = true }
|
|
icu_locale_core = { workspace = true }
|
|
icu_provider = { workspace = true, features = ["sync"] }
|
|
quick-xml = { workspace = true, features = ["serialize"] }
|
|
reqwest = { workspace = true }
|
|
schemars = { workspace = true }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
serde_with = { workspace = true, features = ["macros", "base64"] }
|
|
strum = { workspace = true }
|
|
strum_macros = { workspace = true }
|
|
sys-locale = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tokio = { workspace = true }
|
|
tracing = { workspace = true }
|
|
ts-rs = { workspace = true, features = [
|
|
"uuid-impl",
|
|
"serde-json-impl",
|
|
"no-serde-warnings",
|
|
] }
|
|
uuid = { workspace = true, features = ["serde", "v7", "v4"] }
|
|
wildmatch = { workspace = true }
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
landlock = { workspace = true }
|
|
seccompiler = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
anyhow = { workspace = true }
|
|
http = { workspace = true }
|
|
pretty_assertions = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
|
|
[package.metadata.cargo-shear]
|
|
# Required because:
|
|
# `icu_provider`: contains a required `sync` feature for `icu_decimal`
|
|
# `strum`: as strum_macros in non-nightly builds
|
|
ignored = ["icu_provider", "strum"]
|