Skip to content

Instantly share code, notes, and snippets.

@huitseeker
Last active April 5, 2026 14:44
Show Gist options
  • Select an option

  • Save huitseeker/293b39274bd521bbbbd703f36fc624f7 to your computer and use it in GitHub Desktop.

Select an option

Save huitseeker/293b39274bd521bbbbd703f36fc624f7 to your computer and use it in GitHub Desktop.
{
"consume single P2ID note": {
"prologue": 3501,
"notes_processing": 1761,
"note_execution": {
"0x62e6fe0d5f649b395b5c3f63736fd7b469fd1e0e867c441696d1a70324d3f9a2": 1721
},
"tx_script_processing": 42,
"epilogue": {
"total": 72351,
"auth_procedure": 70846,
"after_tx_cycles_obtained": 612
},
"poseidon2": {
"hash_chiplet_rows": 120352,
"deduplicated_hash_chiplet_rows": 103072,
"rows_per_permutation": 32,
"total_permutations": 3761,
"deduplicated_permutations": 3221,
"duplicate_permutations": 540,
"sampled_work": [
{
"op": "HPERM",
"counting_rule": "each invocation contributes 1 Poseidon2 permutation"
},
{
"op": "MPVERIFY",
"counting_rule": "each Merkle path node contributes 1 Poseidon2 permutation"
},
{
"op": "MRUPDATE",
"counting_rule": "each Merkle path node contributes 2 Poseidon2 permutations"
},
{
"op": "VM control-block hashing",
"counting_rule": "included when the VM routes the work through the hash chiplet"
},
{
"op": "Duplicate-cycle filter",
"counting_rule": "deduplicated counts keep one copy of each distinct 32-row hash-chiplet cycle"
}
],
"deduplication_rule": "two permutations are considered duplicates when all 32 rows match across selector columns, 12-limb hasher state, and node index",
"duplicate_source": [
{
"source": "Memoized control-block hashing",
"why_it_repeats": "the VM can reuse an already-built control-block hash trace by copying the prior 32-row cycle"
},
{
"source": "Memoized basic-block hashing",
"why_it_repeats": "the VM can reuse an already-built basic-block hash trace by copying the prior 32-row cycle"
}
],
"excluded_work": "host-side Rust Poseidon2 calls outside VM execution are not counted"
}
},
"consume two P2ID notes": {
"prologue": 4537,
"notes_processing": 3600,
"note_execution": {
"0x51e09a95d1aa86daa64a59ce960c7a6baba576decf870aa4500e9847c3740bf9": 1721,
"0xf11434d602ac1f69b171c08d5b3352c59c57ecec02e191c61b2a6599269a12c3": 1830
},
"tx_script_processing": 42,
"epilogue": {
"total": 72299,
"auth_procedure": 70820,
"after_tx_cycles_obtained": 612
},
"poseidon2": {
"hash_chiplet_rows": 138208,
"deduplicated_hash_chiplet_rows": 104960,
"rows_per_permutation": 32,
"total_permutations": 4319,
"deduplicated_permutations": 3280,
"duplicate_permutations": 1039,
"sampled_work": [
{
"op": "HPERM",
"counting_rule": "each invocation contributes 1 Poseidon2 permutation"
},
{
"op": "MPVERIFY",
"counting_rule": "each Merkle path node contributes 1 Poseidon2 permutation"
},
{
"op": "MRUPDATE",
"counting_rule": "each Merkle path node contributes 2 Poseidon2 permutations"
},
{
"op": "VM control-block hashing",
"counting_rule": "included when the VM routes the work through the hash chiplet"
},
{
"op": "Duplicate-cycle filter",
"counting_rule": "deduplicated counts keep one copy of each distinct 32-row hash-chiplet cycle"
}
],
"deduplication_rule": "two permutations are considered duplicates when all 32 rows match across selector columns, 12-limb hasher state, and node index",
"duplicate_source": [
{
"source": "Memoized control-block hashing",
"why_it_repeats": "the VM can reuse an already-built control-block hash trace by copying the prior 32-row cycle"
},
{
"source": "Memoized basic-block hashing",
"why_it_repeats": "the VM can reuse an already-built basic-block hash trace by copying the prior 32-row cycle"
}
],
"excluded_work": "host-side Rust Poseidon2 calls outside VM execution are not counted"
}
},
"create single P2ID note": {
"prologue": 1766,
"notes_processing": 32,
"note_execution": {},
"tx_script_processing": 1673,
"epilogue": {
"total": 73243,
"auth_procedure": 71058,
"after_tx_cycles_obtained": 612
},
"poseidon2": {
"hash_chiplet_rows": 116000,
"deduplicated_hash_chiplet_rows": 100448,
"rows_per_permutation": 32,
"total_permutations": 3625,
"deduplicated_permutations": 3139,
"duplicate_permutations": 486,
"sampled_work": [
{
"op": "HPERM",
"counting_rule": "each invocation contributes 1 Poseidon2 permutation"
},
{
"op": "MPVERIFY",
"counting_rule": "each Merkle path node contributes 1 Poseidon2 permutation"
},
{
"op": "MRUPDATE",
"counting_rule": "each Merkle path node contributes 2 Poseidon2 permutations"
},
{
"op": "VM control-block hashing",
"counting_rule": "included when the VM routes the work through the hash chiplet"
},
{
"op": "Duplicate-cycle filter",
"counting_rule": "deduplicated counts keep one copy of each distinct 32-row hash-chiplet cycle"
}
],
"deduplication_rule": "two permutations are considered duplicates when all 32 rows match across selector columns, 12-limb hasher state, and node index",
"duplicate_source": [
{
"source": "Memoized control-block hashing",
"why_it_repeats": "the VM can reuse an already-built control-block hash trace by copying the prior 32-row cycle"
},
{
"source": "Memoized basic-block hashing",
"why_it_repeats": "the VM can reuse an already-built basic-block hash trace by copying the prior 32-row cycle"
}
],
"excluded_work": "host-side Rust Poseidon2 calls outside VM execution are not counted"
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment