You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Produce a mutually exclusive CPU ledger for the allocator-normalized 0→150,000 replay, then compare the complete legacy script-check path with Bitcoin Core rather than comparing only bare ECDSA. The result must identify the one script/kernel mechanism large enough to pursue next, or falsify script work as the source of the CPU deficit.
This ticket does not optimize production code. Diagnostic instrumentation must use the exact frozen source, allocator, compiler, flags, and feature posture from #24, and its timings must never replace the uninstrumented benchmark panel.
Report whole-process wall, user CPU, system CPU, mean-core use, and peak RSS from the frozen uninstrumented baseline.
Attribute per-thread CPU to the apply/main thread, script pool, replay producer, and storage/background workers.
Attribute CPU, not nested wall alone, to block rules, body persistence, UTXO commit, decode, script preparation, and script execution.
Reconcile mutually exclusive buckets to process CPU with no more than 5% unexplained remainder; record sampling loss and instrumentation overhead separately.
Split the script path into Rust wrapper/FFI entry, kernel VerifyScript excluding sighash and ECDSA, legacy SignatureHash, and DER/pubkey parsing plus CPubKey::Verify.
Add a same-corpus full-script Bitcoin Core comparator. The existing bare-ECDSA census remains a ceiling only.
Preserve verdicts and deterministic first-error ordering on valid and injected-invalid corpora; make no assume-valid, cache, or consensus change.
Graduate exactly one attributed mechanism only when its measured bitcoin-rs-specific budget can clear the recomputed 1.05× whole-process CPU gate. Otherwise close that mechanism with evidence.
Parent
#16
What to build
Produce a mutually exclusive CPU ledger for the allocator-normalized 0→150,000 replay, then compare the complete legacy script-check path with Bitcoin Core rather than comparing only bare ECDSA. The result must identify the one script/kernel mechanism large enough to pursue next, or falsify script work as the source of the CPU deficit.
This ticket does not optimize production code. Diagnostic instrumentation must use the exact frozen source, allocator, compiler, flags, and feature posture from #24, and its timings must never replace the uninstrumented benchmark panel.
Blocked by
Acceptance criteria
VerifyScriptexcluding sighash and ECDSA, legacySignatureHash, and DER/pubkey parsing plusCPubKey::Verify.