Repository navigation
Run all-library benchmarks with any selected NMDEV JAR - #7
Merged
Merged
Conversation
haksunli
marked this pull request as draft
November 4, 2026 02:58
haksunli
marked this pull request as ready for review
November 4, 2026 03:06
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A new NMDEV binary previously required editing launcher constants, origin checks and labels; fresh runs also failed when Apache removed timestamped Commons snapshots.
Application 1.3.0 accepts --nmdev-jar, validates and copies the exact binary under one runtime alias, derives version labels from embedded metadata, and records actual SHA-256 and original filename. It rejects changing the binary or application in an existing result directory before replacing its binary/provenance. All 1,260 cases and all eleven libraries (twelve variants) remain enabled, including both Commons implementations. Numerical measurement sources and other comparison-library pins are unchanged.
Check in benchmark/run-benchmark.ps1. It downloads a verified prebuilt runner plus a selected validated NMDEV release (default 1.2.10), caches them, and runs the full suite without Maven, source edits or repeated preparation. -NmdevJar selects a custom local build; -NmdevVersion selects a future published release. The existing application workflow publishes the prebuilt runner and SHA256SUMS only after Windows and Linux smoke, selection, provenance and resume checks pass on main.
Pin four Commons Math modules to released 4.0-beta1 binaries with verified hashes and matching origin labels. This comparator differs from historical snapshots and is explicitly labelled. Include direct-build alias consistency and usage documentation.
Validation: 13 launcher/unit tests passed locally on JDK17, including arbitrary filenames, exact-byte copy, embedded versions, invalid input, classpath shadowing and rejecting mixed-binary resumes. Existing Commons array/block adapters passed 78 correctness cases, each repeated twice, against released dependencies. Windows/Linux application CI validates all libraries, local input selection, actual provenance and retained forks.