Skip to content

bench: PlutusV3 and PV11 scripts, profiles, and calibration tooling - #6440

Open
fmaste wants to merge 15 commits into
masterfrom
fmaste/plutusv3
Open

bench: PlutusV3 and PV11 scripts, profiles, and calibration tooling#6440
fmaste wants to merge 15 commits into
masterfrom
fmaste/plutusv3

Conversation

@fmaste

@fmaste fmaste commented Feb 13, 2026

Copy link
Copy Markdown
Contributor

The PR extends the Plutus benchmarking library with new scripts targeting Plutus V3 and Protocol Version 11, wires them into the benchmarking toolchain end-to-end, and adds supporting profile and reporting infrastructure.

On the library side, plutus-scripts-bench gains PlutusV3 variants of the existing ECDSA and Schnorr signature loop scripts, a V3 CustomCall variant, and two new PV11 scripts: MultiScalarMulG1, a BLS12-381 multi-scalar multiplication benchmark based on CIP-0133, and ExpModInteger, a fixed-iteration loop exercising the new expModInteger builtin. Alongside the additions, mkPlutusBenchScript was refactored to accept raw serialised UPLC bytes and a PlutusScriptVersion rather than a pre-wrapped ScriptInAnyLang, which eliminates repetitive boilerplate that had accumulated across every script module. Unused GHC extensions and redundant imports were removed throughout.

The tx-generator integration includes updated scripts-fallback/ entries and redeemer JSON files for all new and updated scripts, a PV11 protocol parameters file for use with calibrate-script, and removal of the now-stale scripts-legacy/ entries for the 2023-era ECDSA and Schnorr scripts.

On the profile and workbench side, the PV11 preview genesis overlay is updated with van Rossem cost models synced from mainnet. The following new benchmark profiles are added:

  • plutuscall-voltv11-ripemd, plutuscall-voltv11-schnorrv3, plutuscall-voltv11-mscalmul, plutuscall-voltv11-expmod — PV11 plutuscall profiles for the new and updated scripts
  • ci-bench-v11-plutus, ci-bench-v11-plutusv3 — miniature CI profiles for PV11 Plutus workloads
  • plutusv3-expmod-nomadperf — profile for the nomad cluster under PV11

Finally, locli gains a PlutusBudgetSummary module that outputs a Plutus workload calibration CSV as part of comparison reports.

@fmaste
fmaste force-pushed the fmaste/plutusv3 branch 6 times, most recently from 502f3a7 to 298f3b3 Compare February 20, 2026 13:24
@mgmeier mgmeier changed the title WIP bench: maintenance Apr 2, 2026
@mgmeier mgmeier changed the title bench: maintenance WIP Apr 2, 2026
@mgmeier mgmeier changed the title WIP [WIP] bench: PlutusV3 baseline adjustments Apr 2, 2026
@mgmeier mgmeier added the WIP Work In Progress (cannot be merged yet) label Apr 2, 2026
@fmaste
fmaste force-pushed the fmaste/plutusv3 branch 2 times, most recently from 4aa026c to bb965f9 Compare April 13, 2026 15:26
@fmaste
fmaste marked this pull request as ready for review April 13, 2026 15:30
@fmaste
fmaste requested a review from a team as a code owner April 13, 2026 15:30
@fmaste fmaste changed the title [WIP] bench: PlutusV3 baseline adjustments bench: PlutusV3 variants Apr 13, 2026
@github-actions

Copy link
Copy Markdown

This PR is stale because it has been open 45 days with no activity.

@github-actions github-actions Bot added the Stale label Jun 20, 2026
@mgmeier
mgmeier force-pushed the fmaste/plutusv3 branch from 0b24ae7 to 94f62fb Compare July 1, 2026 09:07
@fmaste
fmaste requested a review from a team as a code owner July 2, 2026 03:28
@mgmeier
mgmeier force-pushed the fmaste/plutusv3 branch 7 times, most recently from 053d2e2 to 3067cc5 Compare July 8, 2026 13:08
@mgmeier
mgmeier requested a review from a team as a code owner July 8, 2026 13:08
@mgmeier
mgmeier force-pushed the fmaste/plutusv3 branch from 3067cc5 to 43caa98 Compare July 9, 2026 13:17
@mgmeier
mgmeier force-pushed the fmaste/plutusv3 branch 2 times, most recently from 305ccbd to c0d4280 Compare July 11, 2026 14:46
@mgmeier mgmeier changed the title bench: PlutusV3 variants bench: PlutusV3 and PV11 scripts, profiles, and calibration tooling Jul 11, 2026
@mgmeier mgmeier removed WIP Work In Progress (cannot be merged yet) Stale labels Jul 11, 2026
@mgmeier
mgmeier marked this pull request as draft July 11, 2026 15:02
@mgmeier

mgmeier commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

NB: This PR can only be merged after removing commit [TEMP] s-r-p: cardano-ledger-core-1.20.0.0 + extraConfig fix - after a ledger containing that fix has been merged to master.

@mgmeier mgmeier 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.

LGTM

@mgmeier
mgmeier marked this pull request as ready for review July 27, 2026 19:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants