diff --git a/.github/workflows/bench-pr.yml b/.github/workflows/bench-pr.yml
index aac5578c..c5b77b1a 100644
--- a/.github/workflows/bench-pr.yml
+++ b/.github/workflows/bench-pr.yml
@@ -136,7 +136,7 @@ jobs:
distribution: temurin
java-version: 25 # kyoIntegration (KyoDiBench dep) targets JDK 25 since v0.15.0
- name: Cache coursier + ivy + sbt boot
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
path: |
~/.cache/coursier
diff --git a/.github/workflows/bench-sweep.yml b/.github/workflows/bench-sweep.yml
index 5b74994a..ef47b53f 100644
--- a/.github/workflows/bench-sweep.yml
+++ b/.github/workflows/bench-sweep.yml
@@ -127,7 +127,7 @@ jobs:
distribution: temurin
java-version: 25 # kyoIntegration (KyoDiBench dep) targets JDK 25 since v0.15.0
- name: Cache coursier + ivy + sbt boot
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
path: |
~/.cache/coursier
diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml
index 419a8120..2ff77d9d 100644
--- a/.github/workflows/benchmarks.yml
+++ b/.github/workflows/benchmarks.yml
@@ -62,7 +62,7 @@ jobs:
distribution: temurin
java-version: 21
- name: Cache coursier + ivy + sbt boot
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
path: |
~/.cache/coursier
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 708d447b..1f47fdd0 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -52,7 +52,7 @@ jobs:
- name: Cache coursier + ivy + sbt boot
id: coursier-cache-temurin-25
if: matrix.java == 'temurin@25'
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
path: |
~/.cache/coursier
@@ -76,7 +76,7 @@ jobs:
- name: Cache coursier + ivy + sbt boot
id: coursier-cache-temurin-17
if: matrix.java == 'temurin@17'
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
path: |
~/.cache/coursier
@@ -100,7 +100,7 @@ jobs:
- name: Cache coursier + ivy + sbt boot
id: coursier-cache-temurin-21
if: matrix.java == 'temurin@21'
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
path: |
~/.cache/coursier
@@ -177,7 +177,7 @@ jobs:
- name: Cache coursier + ivy + sbt boot
id: coursier-cache-temurin-25
if: matrix.java == 'temurin@25'
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
path: |
~/.cache/coursier
@@ -201,7 +201,7 @@ jobs:
- name: Cache coursier + ivy + sbt boot
id: coursier-cache-temurin-17
if: matrix.java == 'temurin@17'
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
path: |
~/.cache/coursier
@@ -225,7 +225,7 @@ jobs:
- name: Cache coursier + ivy + sbt boot
id: coursier-cache-temurin-21
if: matrix.java == 'temurin@21'
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
path: |
~/.cache/coursier
@@ -299,7 +299,7 @@ jobs:
- name: Cache coursier + ivy + sbt boot
id: coursier-cache-temurin-25
if: matrix.java == 'temurin@25'
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
path: |
~/.cache/coursier
@@ -323,7 +323,7 @@ jobs:
- name: Cache coursier + ivy + sbt boot
id: coursier-cache-temurin-17
if: matrix.java == 'temurin@17'
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
path: |
~/.cache/coursier
@@ -347,7 +347,7 @@ jobs:
- name: Cache coursier + ivy + sbt boot
id: coursier-cache-temurin-21
if: matrix.java == 'temurin@21'
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
path: |
~/.cache/coursier
@@ -393,7 +393,7 @@ jobs:
- name: Cache coursier + ivy + sbt boot
id: coursier-cache-temurin-25
if: matrix.java == 'temurin@25'
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
path: |
~/.cache/coursier
@@ -417,7 +417,7 @@ jobs:
- name: Cache coursier + ivy + sbt boot
id: coursier-cache-temurin-17
if: matrix.java == 'temurin@17'
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
path: |
~/.cache/coursier
@@ -441,7 +441,7 @@ jobs:
- name: Cache coursier + ivy + sbt boot
id: coursier-cache-temurin-21
if: matrix.java == 'temurin@21'
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
path: |
~/.cache/coursier
diff --git a/.github/workflows/deploy-site.yml b/.github/workflows/deploy-site.yml
index d6852b8e..2d94a58b 100644
--- a/.github/workflows/deploy-site.yml
+++ b/.github/workflows/deploy-site.yml
@@ -70,7 +70,7 @@ jobs:
distribution: temurin
java-version: 25
- name: Cache coursier + ivy + sbt boot
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
path: |
~/.cache/coursier
diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml
index 780bafa5..7582cbdc 100644
--- a/.github/workflows/quality.yml
+++ b/.github/workflows/quality.yml
@@ -61,7 +61,7 @@ jobs:
distribution: temurin
java-version: 25
- name: Cache coursier + ivy + sbt boot
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
path: |
~/.cache/coursier
@@ -97,7 +97,7 @@ jobs:
distribution: temurin
java-version: 25
- name: Cache coursier + ivy + sbt boot
- uses: actions/cache@v4
+ uses: actions/cache@v6
with:
path: |
~/.cache/coursier
diff --git a/BENCHMARKS.md b/BENCHMARKS.md
index 099fe8b1..573e21f7 100644
--- a/BENCHMARKS.md
+++ b/BENCHMARKS.md
@@ -8,578 +8,578 @@
> directional** and not comparable across runs/VMs. The usual JMH
> disclaimer applies: "the numbers below are just data".
-source_sha: `6e53b8574a3ff5c233303325e94c5d910496ad4b` · date: `2026-10-02` · jdk: `temurin-21` · runner: `ubuntu-22.04` · jmh_params: `-i 5 -wi 3 -f 3 -t 1 -foe true -prof gc -rf json -jvmArgsAppend -XX:-ResizeTLAB -jvmArgsAppend -Xms1g -jvmArgsAppend -Xmx1g` · profile: `sweep:-i5-wi3-f3-t1-gc-rt1g`
+source_sha: `462e037b7df74c393ecb5ad4a2d0b8b7d2b4bf96` · date: `2026-10-03` · jdk: `temurin-21` · runner: `ubuntu-22.04` · jmh_params: `-i 5 -wi 3 -f 3 -t 1 -foe true -prof gc -rf json -jvmArgsAppend -XX:-ResizeTLAB -jvmArgsAppend -Xms1g -jvmArgsAppend -Xmx1g` · profile: `sweep:-i5-wi3-f3-t1-gc-rt1g`
## AffineFoldBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `GetOption_0` | `-` | 0.7 ± 0.0 | 0.6 ± 0.0 | 0.0 | 0.0 |
-| `GetOption_0_asAffineFold` | `-` | 0.7 ± 0.0 | — | 0.0 | — |
-| `GetOption_0_asOptional` | `-` | 1.8 ± 0.1 | — | 16.0 | — |
-| `GetOption_0_empty` | `-` | 0.7 ± 0.0 | 0.6 ± 0.0 | 0.0 | 0.0 |
-| `GetOption_3` | `-` | 9.0 ± 0.2 | 5.5 ± 0.1 | 16.0 | 0.0 |
-| `GetOption_6` | `-` | 16.2 ± 0.3 | 14.0 ± 0.4 | 16.0 | 0.0 |
-| `GetOption_loyalty` | `-` | 0.7 ± 0.0 | 0.7 ± 0.0 | 0.0 | 0.0 |
-| `GetOption_loyalty_empty` | `-` | 0.7 ± 0.0 | 0.7 ± 0.0 | 0.0 | 0.0 |
+| `GetOption_0` | `-` | 0.8 ± 0.0 | 0.7 ± 0.0 | 0.0 | 0.0 |
+| `GetOption_0_asAffineFold` | `-` | 0.7 ± 0.1 | — | 0.0 | — |
+| `GetOption_0_asOptional` | `-` | 2.5 ± 0.0 | — | 16.0 | — |
+| `GetOption_0_empty` | `-` | 0.8 ± 0.1 | 0.7 ± 0.0 | 0.0 | 0.0 |
+| `GetOption_3` | `-` | 9.2 ± 0.1 | 6.2 ± 0.1 | 16.0 | 0.0 |
+| `GetOption_6` | `-` | 18.7 ± 0.1 | 16.3 ± 0.4 | 16.0 | 0.0 |
+| `GetOption_loyalty` | `-` | 0.8 ± 0.0 | 0.8 ± 0.0 | 0.0 | 0.0 |
+| `GetOption_loyalty_empty` | `-` | 0.8 ± 0.0 | 0.8 ± 0.0 | 0.0 | 0.0 |
## AvroBytesBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `GraftPayload` | `-` | 94.3 ± 2.7 | — | 720.0 | — |
-| `ModifyCountry` | `-` | 211.8 ± 7.3 | — | 933.3 | — |
-| `ModifyPartner` | `-` | 274.9 ± 10.9 | — | 984.0 | — |
-| `ReadCountry` | `-` | 120.0 ± 5.1 | — | 520.0 | — |
-| `ReadPartner` | `-` | 131.3 ± 6.1 | — | 480.0 | — |
-| `SliceGraftPayload` | `-` | 186.7 ± 6.8 | — | 1,192.0 | — |
-| `naiveModifyCountry` | `-` | 1,909.2 ± 66.8 | — | 7,616.0 | — |
-| `naiveModifyPartner` | `-` | 2,192.8 ± 70.4 | — | 8,696.0 | — |
-| `naivePassthroughPayload` | `-` | 3,558.6 ± 87.5 | — | 14,088.1 | — |
-| `naiveReadCountry` | `-` | 1,162.1 ± 57.9 | — | 4,256.0 | — |
-| `naiveReadPartner` | `-` | 1,434.4 ± 63.1 | — | 5,424.0 | — |
-| `prunedReadCountry` | `-` | 709.6 ± 8.6 | — | 1,976.0 | — |
-| `prunedReadPartner` | `-` | 473.4 ± 17.1 | — | 1,592.0 | — |
+| `GraftPayload` | `-` | 110.1 ± 0.2 | — | 720.0 | — |
+| `ModifyCountry` | `-` | 236.9 ± 4.9 | — | 928.0 | — |
+| `ModifyPartner` | `-` | 278.2 ± 1.3 | — | 984.0 | — |
+| `ReadCountry` | `-` | 133.6 ± 2.6 | — | 520.0 | — |
+| `ReadPartner` | `-` | 144.9 ± 1.6 | — | 480.0 | — |
+| `SliceGraftPayload` | `-` | 211.9 ± 2.2 | — | 1,192.0 | — |
+| `naiveModifyCountry` | `-` | 2,131.4 ± 20.6 | — | 7,616.0 | — |
+| `naiveModifyPartner` | `-` | 2,513.9 ± 49.1 | — | 8,696.0 | — |
+| `naivePassthroughPayload` | `-` | 4,091.2 ± 30.9 | — | 14,088.1 | — |
+| `naiveReadCountry` | `-` | 1,278.6 ± 11.6 | — | 4,256.0 | — |
+| `naiveReadPartner` | `-` | 1,638.3 ± 45.1 | — | 5,424.0 | — |
+| `prunedReadCountry` | `-` | 772.3 ± 12.6 | — | 1,976.0 | — |
+| `prunedReadPartner` | `-` | 538.2 ± 5.4 | — | 1,592.0 | — |
## AvroDecodeReuseBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `cachedDecodeRecord` | `-` | 246.2 ± 10.7 | — | 1,224.0 | — |
-| `confluentRecordReader` | `-` | 266.5 ± 4.1 | — | 1,560.0 | — |
-| `confluentRecordReaderFresh` | `-` | 1,126.0 ± 18.6 | — | 3,696.0 | — |
-| `freshDecodeRecord` | `-` | 1,068.7 ± 27.8 | — | 3,344.0 | — |
+| `cachedDecodeRecord` | `-` | 274.0 ± 1.4 | — | 1,224.0 | — |
+| `confluentRecordReader` | `-` | 312.0 ± 5.6 | — | 1,541.3 | — |
+| `confluentRecordReaderFresh` | `-` | 1,161.3 ± 21.7 | — | 3,696.0 | — |
+| `freshDecodeRecord` | `-` | 1,090.7 ± 11.9 | — | 3,344.0 | — |
## AvroEncodeRouteBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `eo_encodeToAny` | `-` | 37.6 ± 1.3 | — | 312.0 | — |
-| `eo_encodeValue` | `-` | 417.9 ± 49.4 | — | 568.0 | — |
-| `handwritten_stream` | `-` | 124.0 ± 5.5 | — | 240.0 | — |
-| `naive_freshPlumbing` | `-` | 684.9 ± 19.4 | — | 2,624.0 | — |
+| `eo_encodeToAny` | `-` | 48.4 ± 0.5 | — | 312.0 | — |
+| `eo_encodeValue` | `-` | 448.6 ± 11.6 | — | 568.0 | — |
+| `handwritten_stream` | `-` | 143.6 ± 6.8 | — | 240.0 | — |
+| `naive_freshPlumbing` | `-` | 704.5 ± 7.2 | — | 2,624.0 | — |
## AvroJsonBridgeBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `ClickToAvro` | `-` | 2,136.0 ± 83.8 | — | 4,664.0 | — |
-| `ClickToJson` | `-` | 1,902.3 ± 45.0 | — | 3,984.0 | — |
-| `WideToAvro` | `-` | 526.7 ± 9.5 | — | 2,040.0 | — |
-| `WideToJson` | `-` | 399.6 ± 18.3 | — | 1,472.0 | — |
-| `naiveClickToAvro` | `-` | 1,105.5 ± 40.2 | — | 3,928.0 | — |
-| `naiveClickToJson` | `-` | 2,104.7 ± 83.7 | — | 5,856.0 | — |
-| `naiveWideToAvro` | `-` | 868.3 ± 25.0 | — | 3,504.0 | — |
-| `naiveWideToJson` | `-` | 1,376.6 ± 21.9 | — | 4,376.0 | — |
+| `ClickToAvro` | `-` | 2,276.8 ± 14.4 | — | 4,674.7 | — |
+| `ClickToJson` | `-` | 2,138.1 ± 28.8 | — | 3,962.7 | — |
+| `WideToAvro` | `-` | 650.7 ± 7.4 | — | 2,024.0 | — |
+| `WideToJson` | `-` | 472.3 ± 13.0 | — | 1,472.0 | — |
+| `naiveClickToAvro` | `-` | 1,314.4 ± 20.9 | — | 3,928.0 | — |
+| `naiveClickToJson` | `-` | 2,322.9 ± 27.8 | — | 5,856.0 | — |
+| `naiveWideToAvro` | `-` | 963.2 ± 10.1 | — | 3,504.0 | — |
+| `naiveWideToJson` | `-` | 1,427.4 ± 10.5 | — | 4,376.0 | — |
## AvroVulcanBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `decode_bridged` | `-` | 127.5 ± 2.2 | — | 832.0 | — |
-| `decode_native` | `-` | 14.8 ± 0.3 | — | 48.0 | — |
-| `decode_vulcanRaw` | `-` | 124.9 ± 1.9 | — | 832.0 | — |
-| `encode_bridged` | `-` | 155.5 ± 4.3 | — | 1,234.7 | — |
-| `encode_native` | `-` | 11.1 ± 0.8 | — | 56.0 | — |
-| `encode_vulcanRaw` | `-` | 151.2 ± 6.5 | — | 1,229.3 | — |
-| `fieldGet_bridged` | `-` | 68.8 ± 1.0 | — | 432.0 | — |
-| `fieldGet_native` | `-` | 72.0 ± 5.1 | — | 432.0 | — |
-| `rootGet_bridged` | `-` | 237.9 ± 7.0 | — | 1,424.0 | — |
-| `rootGet_native` | `-` | 112.3 ± 2.8 | — | 600.0 | — |
+| `decode_bridged` | `-` | 141.5 ± 0.8 | — | 832.0 | — |
+| `decode_native` | `-` | 11.3 ± 0.0 | — | 48.0 | — |
+| `decode_vulcanRaw` | `-` | 139.2 ± 0.5 | — | 832.0 | — |
+| `encode_bridged` | `-` | 182.2 ± 1.2 | — | 1,224.0 | — |
+| `encode_native` | `-` | 10.0 ± 0.3 | — | 56.0 | — |
+| `encode_vulcanRaw` | `-` | 183.1 ± 2.2 | — | 1,224.0 | — |
+| `fieldGet_bridged` | `-` | 77.1 ± 1.8 | — | 432.0 | — |
+| `fieldGet_native` | `-` | 78.0 ± 2.1 | — | 432.0 | — |
+| `rootGet_bridged` | `-` | 274.3 ± 5.7 | — | 1,424.0 | — |
+| `rootGet_native` | `-` | 119.8 ± 1.9 | — | 600.0 | — |
## CapsBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `foldMapCap` | `-` | 13.6 ± 0.3 | — | 0.0 | — |
-| `foldMapDerivedHeld` | `-` | 14.9 ± 0.5 | — | 0.0 | — |
-| `foldMapDerivedPerCall` | `-` | 14.0 ± 0.6 | — | 0.0 | — |
-| `foldMapDirect` | `-` | 13.6 ± 0.4 | — | 0.0 | — |
-| `getCap` | `-` | 0.7 ± 0.0 | — | 0.0 | — |
-| `getDeepCap` | `-` | 1.0 ± 0.0 | — | 0.0 | — |
-| `getDeepDirect` | `-` | 0.9 ± 0.0 | — | 0.0 | — |
-| `getDerivedHeld` | `-` | 1.5 ± 0.1 | — | 0.0 | — |
-| `getDerivedPerCall` | `-` | 1.0 ± 0.0 | — | 0.0 | — |
-| `getDirect` | `-` | 0.7 ± 0.0 | — | 0.0 | — |
-| `modifyCap` | `-` | 3.2 ± 0.1 | — | 40.0 | — |
-| `modifyDeepCap` | `-` | 19.8 ± 0.3 | — | 176.0 | — |
-| `modifyDeepDirect` | `-` | 21.1 ± 0.7 | — | 152.0 | — |
-| `modifyDerivedHeld` | `-` | 3.6 ± 0.1 | — | 40.0 | — |
-| `modifyDerivedPerCall` | `-` | 3.5 ± 0.2 | — | 40.0 | — |
-| `modifyDirect` | `-` | 3.2 ± 0.1 | — | 40.0 | — |
+| `foldMapCap` | `-` | 16.6 ± 0.1 | — | 0.0 | — |
+| `foldMapDerivedHeld` | `-` | 17.7 ± 0.0 | — | 0.0 | — |
+| `foldMapDerivedPerCall` | `-` | 16.7 ± 0.1 | — | 0.0 | — |
+| `foldMapDirect` | `-` | 16.5 ± 0.2 | — | 0.0 | — |
+| `getCap` | `-` | 0.9 ± 0.0 | — | 0.0 | — |
+| `getDeepCap` | `-` | 1.1 ± 0.0 | — | 0.0 | — |
+| `getDeepDirect` | `-` | 1.0 ± 0.0 | — | 0.0 | — |
+| `getDerivedHeld` | `-` | 1.6 ± 0.0 | — | 0.0 | — |
+| `getDerivedPerCall` | `-` | 1.1 ± 0.0 | — | 0.0 | — |
+| `getDirect` | `-` | 0.8 ± 0.0 | — | 0.0 | — |
+| `modifyCap` | `-` | 5.6 ± 0.0 | — | 40.0 | — |
+| `modifyDeepCap` | `-` | 27.7 ± 0.5 | — | 176.0 | — |
+| `modifyDeepDirect` | `-` | 26.1 ± 0.1 | — | 152.0 | — |
+| `modifyDerivedHeld` | `-` | 5.7 ± 0.0 | — | 40.0 | — |
+| `modifyDerivedPerCall` | `-` | 5.6 ± 0.0 | — | 40.0 | — |
+| `modifyDirect` | `-` | 5.6 ± 0.1 | — | 40.0 | — |
## ClickRecordBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `encode_derived` | `-` | 337.2 ± 9.5 | — | 744.0 | — |
-| `encode_derivedThroughPrism` | `-` | 336.9 ± 7.3 | — | 744.0 | — |
-| `encode_hand` | `-` | 114.1 ± 1.7 | — | 768.0 | — |
-| `encode_positional` | `-` | 4,183.8 ± 157.0 | — | 23,912.0 | — |
-| `encode_vulcanFull` | `-` | 4,693.5 ± 105.1 | — | 28,408.0 | — |
+| `encode_derived` | `-` | 379.8 ± 9.7 | — | 744.0 | — |
+| `encode_derivedThroughPrism` | `-` | 392.3 ± 2.8 | — | 744.0 | — |
+| `encode_hand` | `-` | 113.6 ± 0.7 | — | 768.0 | — |
+| `encode_positional` | `-` | 4,302.6 ± 54.9 | — | 23,912.0 | — |
+| `encode_vulcanFull` | `-` | 5,153.7 ± 101.9 | — | 28,408.0 | — |
## CompositionBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `buildLens1` | `-` | 5.8 ± 0.1 | — | 72.0 | — |
-| `buildLens3` | `-` | 16.9 ± 0.5 | — | 184.0 | — |
-| `buildLens6` | `-` | 35.1 ± 4.4 | — | 352.0 | — |
-| `buildLensOptional3` | `-` | 16.6 ± 0.3 | — | 184.0 | — |
-| `reuseLeaf` | `-` | 2.4 ± 0.2 | — | 24.0 | — |
-| `reuseLens1` | `-` | 16.0 ± 0.5 | — | 40.0 | — |
-| `reuseLens3` | `-` | 33.6 ± 0.6 | — | 72.0 | — |
-| `reuseLens6` | `-` | 73.6 ± 3.0 | — | 120.0 | — |
-| `reuseLensOptional3` | `-` | 35.5 ± 1.4 | — | 160.0 | — |
+| `buildLens1` | `-` | 10.2 ± 0.2 | — | 72.0 | — |
+| `buildLens3` | `-` | 27.0 ± 0.1 | — | 184.0 | — |
+| `buildLens6` | `-` | 51.9 ± 0.5 | — | 352.0 | — |
+| `buildLensOptional3` | `-` | 27.0 ± 0.2 | — | 184.0 | — |
+| `reuseLeaf` | `-` | 3.5 ± 0.1 | — | 24.0 | — |
+| `reuseLens1` | `-` | 10.3 ± 0.2 | — | 40.0 | — |
+| `reuseLens3` | `-` | 28.3 ± 0.3 | — | 72.0 | — |
+| `reuseLens6` | `-` | 77.5 ± 0.6 | — | 120.0 | — |
+| `reuseLensOptional3` | `-` | 38.8 ± 0.2 | — | 160.0 | — |
## FoldBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `FoldMap` | `size=512` | 1,329.2 ± 20.9 | 1,344.8 ± 29.8 | 7,936.2 | 7,936.2 |
-| `FoldMap` | `size=64` | 157.2 ± 3.5 | 157.5 ± 4.5 | 768.0 | 768.0 |
-| `FoldMap` | `size=8` | 13.5 ± 0.3 | 14.0 ± 0.8 | 0.0 | 0.0 |
-| `FoldPrices` | `size=512` | 2,044.4 ± 80.1 | 2,064.3 ± 103.8 | 12,312.3 | 12,312.3 |
-| `FoldPrices` | `size=64` | 148.7 ± 3.6 | 151.7 ± 5.0 | 1,560.0 | 1,560.0 |
-| `FoldPrices` | `size=8` | 19.3 ± 0.5 | 19.2 ± 0.4 | 216.0 | 216.0 |
+| `FoldMap` | `size=512` | 1,303.8 ± 12.0 | 1,288.9 ± 10.5 | 7,936.2 | 7,936.2 |
+| `FoldMap` | `size=64` | 138.2 ± 3.5 | 134.8 ± 1.7 | 768.0 | 768.0 |
+| `FoldMap` | `size=8` | 16.6 ± 0.1 | 16.3 ± 0.1 | 0.0 | 0.0 |
+| `FoldPrices` | `size=512` | 2,278.8 ± 27.0 | 2,276.3 ± 23.8 | 12,312.4 | 12,312.4 |
+| `FoldPrices` | `size=64` | 219.7 ± 2.5 | 217.5 ± 2.0 | 1,560.0 | 1,560.0 |
+| `FoldPrices` | `size=8` | 29.9 ± 0.1 | 29.7 ± 0.5 | 216.0 | 216.0 |
## GenericsBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `genLensGet` | `-` | 0.7 ± 0.0 | — | 0.0 | — |
-| `genLensModify` | `-` | 3.5 ± 0.1 | — | 24.0 | — |
-| `genPrismGetHit` | `-` | 1.8 ± 0.1 | — | 16.0 | — |
-| `genPrismGetMiss` | `-` | 0.7 ± 0.0 | — | 0.0 | — |
-| `genPrismModifyHit` | `-` | 2.5 ± 0.1 | — | 24.0 | — |
-| `genPrismModifyMiss` | `-` | 0.8 ± 0.0 | — | 0.0 | — |
-| `handLensGet` | `-` | 0.7 ± 0.0 | — | 0.0 | — |
-| `handLensModify` | `-` | 2.0 ± 0.1 | — | 24.0 | — |
-| `handPrismGetHit` | `-` | 1.5 ± 0.1 | — | 16.0 | — |
-| `handPrismGetMiss` | `-` | 0.7 ± 0.0 | — | 0.0 | — |
-| `handPrismModifyHit` | `-` | 2.1 ± 0.1 | — | 24.0 | — |
-| `handPrismModifyMiss` | `-` | 0.7 ± 0.0 | — | 0.0 | — |
-| `rawLensGet` | `-` | 0.4 ± 0.0 | — | 0.0 | — |
-| `rawLensModify` | `-` | 2.1 ± 0.1 | — | 24.0 | — |
-| `rawPrismGetHit` | `-` | 1.4 ± 0.0 | — | 16.0 | — |
-| `rawPrismModifyHit` | `-` | 2.1 ± 0.1 | — | 24.0 | — |
+| `genLensGet` | `-` | 0.8 ± 0.0 | — | 0.0 | — |
+| `genLensModify` | `-` | 3.7 ± 0.0 | — | 24.0 | — |
+| `genPrismGetHit` | `-` | 2.4 ± 0.0 | — | 16.0 | — |
+| `genPrismGetMiss` | `-` | 0.9 ± 0.0 | — | 0.0 | — |
+| `genPrismModifyHit` | `-` | 3.4 ± 0.0 | — | 24.0 | — |
+| `genPrismModifyMiss` | `-` | 0.9 ± 0.0 | — | 0.0 | — |
+| `handLensGet` | `-` | 0.8 ± 0.0 | — | 0.0 | — |
+| `handLensModify` | `-` | 3.5 ± 0.0 | — | 24.0 | — |
+| `handPrismGetHit` | `-` | 2.3 ± 0.0 | — | 16.0 | — |
+| `handPrismGetMiss` | `-` | 0.8 ± 0.0 | — | 0.0 | — |
+| `handPrismModifyHit` | `-` | 3.3 ± 0.0 | — | 24.0 | — |
+| `handPrismModifyMiss` | `-` | 0.8 ± 0.0 | — | 0.0 | — |
+| `rawLensGet` | `-` | 0.6 ± 0.0 | — | 0.0 | — |
+| `rawLensModify` | `-` | 3.4 ± 0.0 | — | 24.0 | — |
+| `rawPrismGetHit` | `-` | 2.5 ± 0.0 | — | 16.0 | — |
+| `rawPrismModifyHit` | `-` | 3.3 ± 0.0 | — | 24.0 | — |
## GetterBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `Get_0` | `-` | 0.6 ± 0.0 | 0.3 ± 0.0 | 0.0 | 0.0 |
-| `Get_3` | `-` | 8.9 ± 0.3 | 4.7 ± 0.5 | 0.0 | 0.0 |
-| `Get_6` | `-` | 17.2 ± 0.5 | 14.5 ± 0.5 | 0.0 | 0.0 |
-| `Get_orderId` | `-` | 0.6 ± 0.0 | 0.3 ± 0.0 | 0.0 | 0.0 |
+| `Get_0` | `-` | 0.7 ± 0.0 | 0.4 ± 0.0 | 0.0 | 0.0 |
+| `Get_3` | `-` | 10.2 ± 0.1 | 5.3 ± 0.3 | 0.0 | 0.0 |
+| `Get_6` | `-` | 19.6 ± 0.1 | 16.7 ± 0.2 | 0.0 | 0.0 |
+| `Get_orderId` | `-` | 0.7 ± 0.0 | 0.4 ± 0.0 | 0.0 | 0.0 |
## IsoBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `Get` | `-` | 2.6 ± 0.1 | 2.7 ± 0.1 | 32.0 | 32.0 |
-| `ReverseGet` | `-` | 2.7 ± 0.1 | 2.5 ± 0.1 | 32.0 | 32.0 |
+| `Get` | `-` | 4.5 ± 0.0 | 4.6 ± 0.1 | 32.0 | 32.0 |
+| `ReverseGet` | `-` | 4.4 ± 0.0 | 4.5 ± 0.0 | 32.0 | 32.0 |
## JsoniterBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `cModifyId` | `size=512` | 275,758.8 ± 4,909.1 | — | 1,066,670.4 | — |
-| `cModifyId` | `size=64` | 32,031.5 ± 810.6 | — | 136,254.2 | — |
-| `cModifyId` | `size=8` | 5,355.2 ± 186.2 | — | 20,696.1 | — |
-| `cReadId` | `size=512` | 133,028.9 ± 6,973.6 | — | 797,909.8 | — |
-| `cReadId` | `size=64` | 16,142.0 ± 480.5 | — | 101,288.5 | — |
-| `cReadId` | `size=8` | 2,627.9 ± 64.8 | — | 15,568.0 | — |
-| `cReadStreet` | `size=512` | 128,720.7 ± 3,048.3 | — | 797,908.6 | — |
-| `cReadStreet` | `size=64` | 16,178.4 ± 436.8 | — | 101,288.5 | — |
-| `cReadStreet` | `size=8` | 2,652.5 ± 81.8 | — | 15,568.0 | — |
-| `cReplaceId` | `size=512` | 281,168.3 ± 9,007.4 | — | 1,066,624.0 | — |
-| `cReplaceId` | `size=64` | 33,580.6 ± 1,704.8 | — | 136,206.6 | — |
-| `cReplaceId` | `size=8` | 5,422.2 ± 162.0 | — | 20,656.1 | — |
-| `cSumPrices` | `size=512` | 242,440.5 ± 8,774.3 | — | 1,240,708.9 | — |
-| `cSumPrices` | `size=64` | 27,660.6 ± 794.5 | — | 157,582.0 | — |
-| `cSumPrices` | `size=8` | 4,343.6 ± 73.0 | — | 22,720.0 | — |
-| `jMiss` | `size=512` | 132.1 ± 5.7 | — | 0.0 | — |
-| `jMiss` | `size=64` | 130.8 ± 4.7 | — | 0.0 | — |
-| `jMiss` | `size=8` | 129.7 ± 4.4 | — | 0.0 | — |
-| `jModifyId` | `size=512` | 5,380.8 ± 104.3 | — | 41,921.5 | — |
-| `jModifyId` | `size=64` | 676.2 ± 6.3 | — | 5,328.0 | — |
-| `jModifyId` | `size=8` | 147.5 ± 5.0 | — | 992.0 | — |
-| `jReadId` | `size=512` | 30.0 ± 4.9 | — | 48.0 | — |
-| `jReadId` | `size=64` | 32.9 ± 6.9 | — | 56.0 | — |
-| `jReadId` | `size=8` | 30.5 ± 5.6 | — | 48.0 | — |
-| `jReadStreet` | `size=512` | 133.0 ± 7.8 | — | 144.0 | — |
-| `jReadStreet` | `size=64` | 126.5 ± 3.0 | — | 144.0 | — |
-| `jReadStreet` | `size=8` | 130.8 ± 5.1 | — | 136.0 | — |
-| `jReplaceId` | `size=512` | 5,291.3 ± 63.6 | — | 41,889.5 | — |
-| `jReplaceId` | `size=64` | 670.5 ± 12.1 | — | 5,296.0 | — |
-| `jReplaceId` | `size=8` | 146.8 ± 2.9 | — | 960.0 | — |
-| `jSumPrices` | `size=512` | 58,899.7 ± 1,778.0 | — | 63,676.6 | — |
-| `jSumPrices` | `size=64` | 7,499.5 ± 211.4 | — | 8,120.2 | — |
-| `jSumPrices` | `size=8` | 979.0 ± 23.0 | — | 1,176.0 | — |
+| `cModifyId` | `size=512` | 281,082.8 ± 2,777.1 | — | 1,066,680.0 | — |
+| `cModifyId` | `size=64` | 35,897.2 ± 250.9 | — | 136,264.5 | — |
+| `cModifyId` | `size=8` | 6,220.7 ± 125.7 | — | 20,704.1 | — |
+| `cReadId` | `size=512` | 148,919.7 ± 1,886.6 | — | 797,914.4 | — |
+| `cReadId` | `size=64` | 18,725.8 ± 155.7 | — | 101,288.5 | — |
+| `cReadId` | `size=8` | 2,912.1 ± 13.9 | — | 15,568.0 | — |
+| `cReadStreet` | `size=512` | 149,872.7 ± 2,125.4 | — | 797,914.6 | — |
+| `cReadStreet` | `size=64` | 18,757.4 ± 165.8 | — | 101,288.5 | — |
+| `cReadStreet` | `size=8` | 2,963.1 ± 50.7 | — | 15,568.0 | — |
+| `cReplaceId` | `size=512` | 281,300.1 ± 3,052.2 | — | 1,066,616.0 | — |
+| `cReplaceId` | `size=64` | 36,251.0 ± 716.8 | — | 136,216.6 | — |
+| `cReplaceId` | `size=8` | 6,053.6 ± 27.4 | — | 20,656.1 | — |
+| `cSumPrices` | `size=512` | 243,908.2 ± 2,294.7 | — | 1,240,709.4 | — |
+| `cSumPrices` | `size=64` | 30,276.8 ± 111.4 | — | 157,486.9 | — |
+| `cSumPrices` | `size=8` | 4,616.8 ± 34.5 | — | 22,720.0 | — |
+| `jMiss` | `size=512` | 143.2 ± 3.0 | — | 0.0 | — |
+| `jMiss` | `size=64` | 142.7 ± 2.6 | — | 0.0 | — |
+| `jMiss` | `size=8` | 144.9 ± 1.1 | — | 0.0 | — |
+| `jModifyId` | `size=512` | 5,342.7 ± 120.9 | — | 41,921.5 | — |
+| `jModifyId` | `size=64` | 669.0 ± 14.3 | — | 5,336.0 | — |
+| `jModifyId` | `size=8` | 146.1 ± 2.3 | — | 992.0 | — |
+| `jReadId` | `size=512` | 32.7 ± 4.3 | — | 64.0 | — |
+| `jReadId` | `size=64` | 30.5 ± 5.5 | — | 48.0 | — |
+| `jReadId` | `size=8` | 32.9 ± 4.3 | — | 64.0 | — |
+| `jReadStreet` | `size=512` | 145.7 ± 1.2 | — | 136.0 | — |
+| `jReadStreet` | `size=64` | 147.5 ± 1.8 | — | 128.0 | — |
+| `jReadStreet` | `size=8` | 148.1 ± 1.4 | — | 136.0 | — |
+| `jReplaceId` | `size=512` | 5,295.2 ± 74.1 | — | 41,889.5 | — |
+| `jReplaceId` | `size=64` | 650.6 ± 10.3 | — | 5,304.0 | — |
+| `jReplaceId` | `size=8` | 143.8 ± 0.9 | — | 960.0 | — |
+| `jSumPrices` | `size=512` | 67,706.8 ± 571.7 | — | 63,671.3 | — |
+| `jSumPrices` | `size=64` | 8,504.5 ± 106.3 | — | 8,120.2 | — |
+| `jSumPrices` | `size=8` | 1,132.3 ± 15.7 | — | 1,176.0 | — |
## KyoDiBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `EnvFocus` | `-` | 73.3 ± 2.3 | — | 320.0 | — |
-| `MapDrillModify` | `-` | 25.5 ± 0.7 | — | 216.0 | — |
-| `MapGet` | `-` | 1.6 ± 0.0 | — | 0.0 | — |
-| `VarUpdateFocus` | `-` | 61.3 ± 1.6 | — | 216.0 | — |
-| `handEnvUse` | `-` | 71.1 ± 1.3 | — | 312.0 | — |
-| `handMapDrillModify` | `-` | 23.2 ± 0.9 | — | 216.0 | — |
-| `handMapGet` | `-` | 1.2 ± 0.0 | — | 0.0 | — |
-| `handVarUpdate` | `-` | 55.9 ± 1.6 | — | 200.0 | — |
+| `EnvFocus` | `-` | 83.8 ± 1.0 | — | 320.0 | — |
+| `MapDrillModify` | `-` | 34.4 ± 0.4 | — | 216.0 | — |
+| `MapGet` | `-` | 1.8 ± 0.0 | — | 0.0 | — |
+| `VarUpdateFocus` | `-` | 66.4 ± 2.9 | — | 216.0 | — |
+| `handEnvUse` | `-` | 82.5 ± 1.2 | — | 312.0 | — |
+| `handMapDrillModify` | `-` | 33.0 ± 0.2 | — | 216.0 | — |
+| `handMapGet` | `-` | 1.4 ± 0.0 | — | 0.0 | — |
+| `handVarUpdate` | `-` | 65.0 ± 3.0 | — | 200.0 | — |
## LensBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `Get` | `-` | 0.7 ± 0.0 | 0.8 ± 0.0 | 0.0 | 0.0 |
-| `Modify` | `-` | 3.5 ± 0.1 | 3.2 ± 0.1 | 40.0 | 40.0 |
-| `ModifyDeep` | `-` | 21.4 ± 0.5 | 19.7 ± 0.9 | 152.0 | 176.0 |
-| `Replace` | `-` | 3.2 ± 0.1 | 3.2 ± 0.1 | 40.0 | 40.0 |
+| `Get` | `-` | 0.8 ± 0.0 | 0.9 ± 0.0 | 0.0 | 0.0 |
+| `Modify` | `-` | 5.6 ± 0.1 | 5.6 ± 0.1 | 40.0 | 40.0 |
+| `ModifyDeep` | `-` | 26.1 ± 0.1 | 26.9 ± 0.1 | 152.0 | 176.0 |
+| `Replace` | `-` | 5.5 ± 0.1 | 5.4 ± 0.0 | 40.0 | 40.0 |
## MultiFocusBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `Fold_powerEach` | `size=1024` | 13,486.6 ± 639.8 | — | 43,035.5 | — |
-| `Fold_powerEach` | `size=256` | 2,473.3 ± 34.2 | — | 9,240.2 | — |
-| `Fold_powerEach` | `size=32` | 290.2 ± 34.5 | — | 920.0 | — |
-| `Fold_powerEach` | `size=4` | 48.6 ± 0.5 | — | 328.0 | — |
-| `Modify_multiFocus` | `size=1024` | 51,824.7 ± 1,257.8 | — | 331,137.5 | — |
-| `Modify_multiFocus` | `size=256` | 11,249.4 ± 198.5 | — | 76,112.8 | — |
-| `Modify_multiFocus` | `size=32` | 1,516.7 ± 15.5 | — | 8,600.0 | — |
-| `Modify_multiFocus` | `size=4` | 155.4 ± 4.8 | — | 1,320.0 | — |
-| `Modify_powerEach` | `size=1024` | 26,492.5 ± 2,139.8 | — | 115,174.9 | — |
-| `Modify_powerEach` | `size=256` | 6,149.4 ± 94.7 | — | 26,080.4 | — |
-| `Modify_powerEach` | `size=32` | 798.4 ± 25.8 | — | 3,152.0 | — |
-| `Modify_powerEach` | `size=4` | 118.0 ± 1.9 | — | 800.0 | — |
-| `naive_listMap` | `size=1024` | 8,404.5 ± 652.0 | — | 65,578.2 | — |
-| `naive_listMap` | `size=256` | 1,876.1 ± 40.1 | — | 16,424.1 | — |
-| `naive_listMap` | `size=32` | 243.9 ± 11.4 | — | 2,088.0 | — |
-| `naive_listMap` | `size=4` | 29.3 ± 0.4 | — | 296.0 | — |
-| `naive_sumQty` | `size=1024` | 3,994.2 ± 178.3 | — | 16,129.0 | — |
-| `naive_sumQty` | `size=256` | 613.0 ± 10.2 | — | 3,840.0 | — |
-| `naive_sumQty` | `size=32` | 52.4 ± 0.8 | — | 256.0 | — |
-| `naive_sumQty` | `size=4` | 4.7 ± 0.2 | — | 0.0 | — |
+| `Fold_powerEach` | `size=1024` | 15,494.7 ± 1,970.6 | — | 43,036.0 | — |
+| `Fold_powerEach` | `size=256` | 2,638.1 ± 10.2 | — | 9,240.2 | — |
+| `Fold_powerEach` | `size=32` | 273.9 ± 0.8 | — | 920.0 | — |
+| `Fold_powerEach` | `size=4` | 56.7 ± 0.2 | — | 328.0 | — |
+| `Modify_multiFocus` | `size=1024` | 56,453.4 ± 929.3 | — | 331,134.5 | — |
+| `Modify_multiFocus` | `size=256` | 12,672.1 ± 123.8 | — | 76,112.9 | — |
+| `Modify_multiFocus` | `size=32` | 1,461.3 ± 5.3 | — | 8,600.0 | — |
+| `Modify_multiFocus` | `size=4` | 190.7 ± 0.8 | — | 1,320.0 | — |
+| `Modify_powerEach` | `size=1024` | 29,220.8 ± 746.2 | — | 115,175.6 | — |
+| `Modify_powerEach` | `size=256` | 6,024.9 ± 474.2 | — | 26,080.4 | — |
+| `Modify_powerEach` | `size=32` | 758.1 ± 15.6 | — | 3,152.0 | — |
+| `Modify_powerEach` | `size=4` | 129.5 ± 1.4 | — | 800.0 | — |
+| `naive_listMap` | `size=1024` | 10,123.5 ± 28.1 | — | 65,578.6 | — |
+| `naive_listMap` | `size=256` | 2,480.4 ± 10.5 | — | 16,424.2 | — |
+| `naive_listMap` | `size=32` | 314.7 ± 1.1 | — | 2,088.0 | — |
+| `naive_listMap` | `size=4` | 45.0 ± 0.5 | — | 296.0 | — |
+| `naive_sumQty` | `size=1024` | 4,592.6 ± 176.5 | — | 16,129.2 | — |
+| `naive_sumQty` | `size=256` | 607.1 ± 2.3 | — | 3,840.0 | — |
+| `naive_sumQty` | `size=32` | 51.7 ± 0.1 | — | 256.0 | — |
+| `naive_sumQty` | `size=4` | 5.4 ± 0.1 | — | 0.0 | — |
## MultiFocusCollectBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `CollectList_listSum` | `-` | 24.1 ± 0.7 | — | 56.0 | — |
-| `CollectMap_constSum` | `-` | 1.3 ± 0.0 | — | 0.0 | — |
-| `CollectMap_zipMean` | `-` | 100.9 ± 1.1 | — | 880.0 | — |
-| `Modify_multiFocusTuple3` | `-` | 12.5 ± 0.4 | — | 128.0 | — |
-| `Modify_multiFocusTuple6` | `-` | 20.8 ± 0.5 | — | 224.0 | — |
-| `naive_constSum` | `-` | 1.3 ± 0.0 | — | 16.0 | — |
-| `naive_listSum` | `-` | 20.9 ± 0.3 | — | 56.0 | — |
-| `naive_tuple3Rewrite` | `-` | 7.4 ± 0.1 | — | 96.0 | — |
-| `naive_tuple6Rewrite` | `-` | 14.2 ± 0.3 | — | 184.0 | — |
-| `naive_zipMeanBroadcast` | `-` | 160.6 ± 9.2 | — | 1,176.0 | — |
+| `CollectList_listSum` | `-` | 24.2 ± 0.1 | — | 56.0 | — |
+| `CollectMap_constSum` | `-` | 1.4 ± 0.0 | — | 0.0 | — |
+| `CollectMap_zipMean` | `-` | 129.0 ± 0.5 | — | 880.0 | — |
+| `Modify_multiFocusTuple3` | `-` | 18.9 ± 0.4 | — | 128.0 | — |
+| `Modify_multiFocusTuple6` | `-` | 33.2 ± 0.2 | — | 224.0 | — |
+| `naive_constSum` | `-` | 2.4 ± 0.0 | — | 16.0 | — |
+| `naive_listSum` | `-` | 22.5 ± 0.3 | — | 56.0 | — |
+| `naive_tuple3Rewrite` | `-` | 13.0 ± 0.1 | — | 96.0 | — |
+| `naive_tuple6Rewrite` | `-` | 24.5 ± 0.2 | — | 184.0 | — |
+| `naive_zipMeanBroadcast` | `-` | 203.8 ± 0.9 | — | 1,176.0 | — |
## OpticBuildBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `build` | `-` | 38.1 ± 1.2 | — | 184.0 | — |
-| `buildAndUse` | `-` | 696.5 ± 47.1 | — | 2,840.0 | — |
-| `reuseUse` | `-` | 627.0 ± 17.7 | — | 2,696.0 | — |
+| `build` | `-` | 36.1 ± 0.0 | — | 184.0 | — |
+| `buildAndUse` | `-` | 799.2 ± 24.3 | — | 2,840.0 | — |
+| `reuseUse` | `-` | 757.2 ± 11.1 | — | 2,696.0 | — |
## OptionalBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `Modify_0` | `-` | 14.2 ± 0.5 | 14.2 ± 0.6 | 112.0 | 112.0 |
-| `Modify_0_empty` | `-` | 0.8 ± 0.0 | 1.1 ± 0.0 | 0.0 | 0.0 |
-| `Modify_3` | `-` | 34.5 ± 1.2 | 44.5 ± 1.4 | 160.0 | 304.0 |
-| `Modify_6` | `-` | 77.1 ± 2.0 | 75.3 ± 1.6 | 208.0 | 496.0 |
-| `Modify_loyalty` | `-` | 12.6 ± 0.9 | 12.4 ± 0.8 | 112.0 | 112.0 |
-| `Modify_loyalty_empty` | `-` | 0.9 ± 0.0 | 1.1 ± 0.0 | 0.0 | 0.0 |
-| `Replace_0` | `-` | 3.5 ± 0.3 | 3.4 ± 0.1 | 40.0 | 40.0 |
-| `Replace_loyalty` | `-` | 6.9 ± 0.1 | 6.9 ± 0.2 | 88.0 | 88.0 |
+| `Modify_0` | `-` | 17.9 ± 0.1 | 17.9 ± 0.1 | 112.0 | 112.0 |
+| `Modify_0_empty` | `-` | 1.1 ± 0.0 | 1.3 ± 0.1 | 0.0 | 0.0 |
+| `Modify_3` | `-` | 38.5 ± 0.4 | 51.4 ± 0.3 | 160.0 | 304.0 |
+| `Modify_6` | `-` | 89.3 ± 0.4 | 84.6 ± 1.5 | 208.0 | 496.0 |
+| `Modify_loyalty` | `-` | 17.0 ± 0.2 | 16.9 ± 0.1 | 112.0 | 112.0 |
+| `Modify_loyalty_empty` | `-` | 1.1 ± 0.0 | 1.3 ± 0.0 | 0.0 | 0.0 |
+| `Replace_0` | `-` | 5.7 ± 0.0 | 5.5 ± 0.1 | 40.0 | 40.0 |
+| `Replace_loyalty` | `-` | 11.9 ± 0.1 | 11.8 ± 0.1 | 88.0 | 88.0 |
## OrderAvroBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `ModifyNames` | `size=512` | 22,685.4 ± 1,193.6 | — | 97,421.4 | — |
-| `ModifyNames` | `size=64` | 2,756.1 ± 95.6 | — | 12,616.1 | — |
-| `ModifyNames` | `size=8` | 381.6 ± 18.9 | — | 2,048.0 | — |
-| `ModifyStreet` | `size=512` | 79.9 ± 1.5 | — | 328.0 | — |
-| `ModifyStreet` | `size=64` | 79.4 ± 2.3 | — | 328.0 | — |
-| `ModifyStreet` | `size=8` | 81.6 ± 3.7 | — | 328.0 | — |
-| `ReadStreet` | `size=512` | 23.6 ± 0.8 | — | 88.0 | — |
-| `ReadStreet` | `size=64` | 23.5 ± 0.6 | — | 88.0 | — |
-| `ReadStreet` | `size=8` | 23.3 ± 0.3 | — | 88.0 | — |
-| `monocleModifyNames` | `size=512` | 74,146.7 ± 2,185.2 | — | 382,786.9 | — |
-| `monocleModifyNames` | `size=64` | 6,755.2 ± 263.9 | — | 39,840.2 | — |
-| `monocleModifyNames` | `size=8` | 1,007.9 ± 33.5 | — | 5,400.0 | — |
-| `monocleModifyStreet` | `size=512` | 35,020.7 ± 1,424.3 | — | 169,071.1 | — |
-| `monocleModifyStreet` | `size=64` | 4,447.4 ± 117.1 | — | 20,904.2 | — |
-| `monocleModifyStreet` | `size=8` | 605.6 ± 26.9 | — | 2,992.0 | — |
-| `monocleReadStreet` | `size=512` | 17,410.6 ± 262.0 | — | 69,780.2 | — |
-| `monocleReadStreet` | `size=64` | 2,841.2 ± 251.9 | — | 8,848.1 | — |
-| `monocleReadStreet` | `size=8` | 403.1 ± 75.1 | — | 1,208.0 | — |
-| `naiveModifyNames` | `size=512` | 43,150.9 ± 366.8 | — | 226,287.1 | — |
-| `naiveModifyNames` | `size=64` | 5,464.5 ± 182.6 | — | 27,936.2 | — |
-| `naiveModifyNames` | `size=8` | 712.2 ± 25.5 | — | 3,752.0 | — |
-| `naiveModifyStreet` | `size=512` | 33,568.4 ± 436.9 | — | 169,047.3 | — |
-| `naiveModifyStreet` | `size=64` | 4,396.7 ± 139.9 | — | 20,880.1 | — |
-| `naiveModifyStreet` | `size=8` | 605.9 ± 37.6 | — | 2,968.0 | — |
-| `naiveReadStreet` | `size=512` | 17,507.4 ± 173.5 | — | 69,780.2 | — |
-| `naiveReadStreet` | `size=64` | 3,038.7 ± 314.1 | — | 8,848.1 | — |
-| `naiveReadStreet` | `size=8` | 295.4 ± 12.0 | — | 1,208.0 | — |
+| `ModifyNames` | `size=512` | 25,112.6 ± 137.5 | — | 97,421.9 | — |
+| `ModifyNames` | `size=64` | 3,014.1 ± 58.4 | — | 13,128.1 | — |
+| `ModifyNames` | `size=8` | 453.9 ± 1.2 | — | 2,160.0 | — |
+| `ModifyStreet` | `size=512` | 86.3 ± 0.2 | — | 328.0 | — |
+| `ModifyStreet` | `size=64` | 85.5 ± 0.2 | — | 328.0 | — |
+| `ModifyStreet` | `size=8` | 86.1 ± 1.3 | — | 328.0 | — |
+| `ReadStreet` | `size=512` | 24.5 ± 0.3 | — | 88.0 | — |
+| `ReadStreet` | `size=64` | 24.3 ± 0.0 | — | 88.0 | — |
+| `ReadStreet` | `size=8` | 24.4 ± 0.1 | — | 88.0 | — |
+| `monocleModifyNames` | `size=512` | 71,679.5 ± 377.2 | — | 382,786.6 | — |
+| `monocleModifyNames` | `size=64` | 7,420.1 ± 79.9 | — | 39,840.3 | — |
+| `monocleModifyNames` | `size=8` | 1,058.5 ± 8.4 | — | 5,400.0 | — |
+| `monocleModifyStreet` | `size=512` | 33,901.1 ± 261.0 | — | 169,070.7 | — |
+| `monocleModifyStreet` | `size=64` | 4,412.2 ± 77.4 | — | 20,904.1 | — |
+| `monocleModifyStreet` | `size=8` | 689.2 ± 22.9 | — | 2,992.0 | — |
+| `monocleReadStreet` | `size=512` | 17,105.2 ± 29.6 | — | 69,780.1 | — |
+| `monocleReadStreet` | `size=64` | 2,187.9 ± 23.5 | — | 8,848.1 | — |
+| `monocleReadStreet` | `size=8` | 329.4 ± 4.4 | — | 1,208.0 | — |
+| `naiveModifyNames` | `size=512` | 43,850.4 ± 481.5 | — | 226,287.6 | — |
+| `naiveModifyNames` | `size=64` | 5,631.5 ± 66.1 | — | 27,936.2 | — |
+| `naiveModifyNames` | `size=8` | 818.2 ± 15.4 | — | 3,752.0 | — |
+| `naiveModifyStreet` | `size=512` | 33,797.8 ± 421.3 | — | 169,046.7 | — |
+| `naiveModifyStreet` | `size=64` | 4,427.2 ± 83.5 | — | 20,880.1 | — |
+| `naiveModifyStreet` | `size=8` | 694.7 ± 19.0 | — | 2,968.0 | — |
+| `naiveReadStreet` | `size=512` | 17,173.6 ± 241.4 | — | 69,780.1 | — |
+| `naiveReadStreet` | `size=64` | 2,180.4 ± 3.7 | — | 8,848.1 | — |
+| `naiveReadStreet` | `size=8` | 328.9 ± 3.6 | — | 1,208.0 | — |
## OrderCirceBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `Names` | `size=512` | 136,508.7 ± 5,885.7 | — | 613,949.4 | — |
-| `Names` | `size=64` | 17,688.0 ± 813.8 | — | 78,777.9 | — |
-| `Names` | `size=8` | 2,436.9 ± 107.9 | — | 10,944.1 | — |
-| `NamesIor` | `size=512` | 154,436.9 ± 3,554.7 | — | 683,467.8 | — |
-| `NamesIor` | `size=64` | 19,873.6 ± 531.2 | — | 87,487.4 | — |
-| `NamesIor` | `size=8` | 2,554.1 ± 77.1 | — | 11,576.1 | — |
-| `Street` | `size=512` | 659.8 ± 50.5 | — | 2,720.5 | — |
-| `Street` | `size=64` | 659.6 ± 52.2 | — | 2,720.1 | — |
-| `Street` | `size=8` | 613.3 ± 8.4 | — | 2,720.0 | — |
-| `StreetIor` | `size=512` | 615.5 ± 16.7 | — | 2,736.5 | — |
-| `StreetIor` | `size=64` | 623.9 ± 13.8 | — | 2,736.1 | — |
-| `StreetIor` | `size=8` | 609.6 ± 8.8 | — | 2,736.0 | — |
-| `directNames` | `size=512` | 136,137.3 ± 5,706.7 | — | 613,909.1 | — |
-| `directNames` | `size=64` | 16,900.4 ± 271.8 | — | 77,177.8 | — |
-| `directNames` | `size=8` | 2,349.1 ± 89.2 | — | 10,688.1 | — |
-| `directStreet` | `size=512` | 635.5 ± 18.9 | — | 2,728.5 | — |
-| `directStreet` | `size=64` | 652.9 ± 60.7 | — | 2,736.1 | — |
-| `directStreet` | `size=8` | 653.2 ± 37.3 | — | 2,736.0 | — |
-| `hcursorNames` | `size=512` | 135,868.0 ± 3,572.9 | — | 609,804.9 | — |
-| `hcursorNames` | `size=64` | 17,339.3 ± 651.4 | — | 77,257.8 | — |
-| `hcursorNames` | `size=8` | 2,357.0 ± 79.5 | — | 10,696.1 | — |
-| `hcursorStreet` | `size=512` | 711.7 ± 53.2 | — | 3,032.6 | — |
-| `hcursorStreet` | `size=64` | 691.7 ± 22.8 | — | 3,032.1 | — |
-| `hcursorStreet` | `size=8` | 673.7 ± 11.5 | — | 3,032.0 | — |
-| `monocleNames` | `size=512` | 189,274.0 ± 2,993.8 | — | 1,121,735.2 | — |
-| `monocleNames` | `size=64` | 18,595.4 ± 535.2 | — | 132,767.0 | — |
-| `monocleNames` | `size=8` | 3,119.9 ± 56.7 | — | 19,477.4 | — |
-| `monocleStreet` | `size=512` | 146,025.2 ± 1,402.9 | — | 908,002.1 | — |
-| `monocleStreet` | `size=64` | 15,821.4 ± 378.3 | — | 113,809.4 | — |
-| `monocleStreet` | `size=8` | 2,700.5 ± 75.5 | — | 17,053.4 | — |
-| `naiveNames` | `size=512` | 163,938.1 ± 7,361.0 | — | 965,246.2 | — |
-| `naiveNames` | `size=64` | 16,912.1 ± 305.8 | — | 120,825.5 | — |
-| `naiveNames` | `size=8` | 2,810.1 ± 59.9 | — | 17,808.1 | — |
-| `naiveStreet` | `size=512` | 149,523.8 ± 2,282.8 | — | 908,009.8 | — |
-| `naiveStreet` | `size=64` | 16,091.2 ± 453.9 | — | 113,801.4 | — |
-| `naiveStreet` | `size=8` | 2,727.6 ± 64.0 | — | 17,040.1 | — |
+| `Names` | `size=512` | 165,861.5 ± 3,391.9 | — | 613,973.0 | — |
+| `Names` | `size=64` | 21,094.6 ± 536.0 | — | 78,778.2 | — |
+| `Names` | `size=8` | 2,870.5 ± 59.8 | — | 10,944.1 | — |
+| `NamesIor` | `size=512` | 170,538.4 ± 3,253.5 | — | 679,376.7 | — |
+| `NamesIor` | `size=64` | 23,127.9 ± 330.3 | — | 86,962.4 | — |
+| `NamesIor` | `size=8` | 3,111.5 ± 107.2 | — | 11,576.1 | — |
+| `Street` | `size=512` | 748.1 ± 11.6 | — | 2,720.6 | — |
+| `Street` | `size=64` | 755.7 ± 19.1 | — | 2,720.1 | — |
+| `Street` | `size=8` | 771.6 ± 11.8 | — | 2,720.0 | — |
+| `StreetIor` | `size=512` | 779.5 ± 7.8 | — | 2,736.6 | — |
+| `StreetIor` | `size=64` | 771.1 ± 23.8 | — | 2,736.1 | — |
+| `StreetIor` | `size=8` | 761.4 ± 17.5 | — | 2,736.0 | — |
+| `directNames` | `size=512` | 160,671.7 ± 3,762.5 | — | 613,928.8 | — |
+| `directNames` | `size=64` | 20,432.2 ± 275.8 | — | 77,698.2 | — |
+| `directNames` | `size=8` | 2,801.1 ± 78.1 | — | 10,688.1 | — |
+| `directStreet` | `size=512` | 770.9 ± 7.7 | — | 2,736.6 | — |
+| `directStreet` | `size=64` | 768.2 ± 3.8 | — | 2,736.1 | — |
+| `directStreet` | `size=8` | 772.4 ± 8.7 | — | 2,736.0 | — |
+| `hcursorNames` | `size=512` | 160,016.3 ± 5,165.1 | — | 613,928.3 | — |
+| `hcursorNames` | `size=64` | 20,488.9 ± 691.2 | — | 77,778.2 | — |
+| `hcursorNames` | `size=8` | 2,789.6 ± 146.3 | — | 10,696.1 | — |
+| `hcursorStreet` | `size=512` | 810.9 ± 8.2 | — | 3,032.6 | — |
+| `hcursorStreet` | `size=64` | 801.4 ± 10.2 | — | 3,032.1 | — |
+| `hcursorStreet` | `size=8` | 810.7 ± 8.6 | — | 3,032.0 | — |
+| `monocleNames` | `size=512` | 180,538.0 ± 2,074.2 | — | 1,121,729.3 | — |
+| `monocleNames` | `size=64` | 20,767.7 ± 434.0 | — | 132,756.5 | — |
+| `monocleNames` | `size=8` | 3,184.3 ± 24.0 | — | 19,466.7 | — |
+| `monocleStreet` | `size=512` | 140,475.5 ± 2,884.0 | — | 907,998.4 | — |
+| `monocleStreet` | `size=64` | 17,668.2 ± 335.9 | — | 113,809.6 | — |
+| `monocleStreet` | `size=8` | 2,753.2 ± 34.7 | — | 17,053.4 | — |
+| `naiveNames` | `size=512` | 147,247.6 ± 1,961.3 | — | 965,235.0 | — |
+| `naiveNames` | `size=64` | 18,519.0 ± 231.9 | — | 120,825.7 | — |
+| `naiveNames` | `size=8` | 2,882.6 ± 48.1 | — | 17,808.1 | — |
+| `naiveStreet` | `size=512` | 139,044.2 ± 553.9 | — | 908,008.1 | — |
+| `naiveStreet` | `size=64` | 17,586.3 ± 160.9 | — | 113,774.9 | — |
+| `naiveStreet` | `size=8` | 2,724.6 ± 26.7 | — | 17,034.7 | — |
## OrderJsoniterBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `ModifyStreet` | `size=512` | 5,497.2 ± 83.6 | — | 42,028.9 | — |
-| `ModifyStreet` | `size=64` | 830.7 ± 16.3 | — | 5,432.1 | — |
-| `ModifyStreet` | `size=8` | 213.8 ± 11.1 | — | 1,080.0 | — |
-| `ReadStreet` | `size=512` | 130.0 ± 5.6 | — | 109.5 | — |
-| `ReadStreet` | `size=64` | 128.9 ± 4.4 | — | 109.3 | — |
-| `ReadStreet` | `size=8` | 125.9 ± 2.3 | — | 90.7 | — |
-| `SumPrices` | `size=512` | 59,361.5 ± 1,761.7 | — | 63,711.9 | — |
-| `SumPrices` | `size=64` | 7,662.4 ± 375.2 | — | 8,120.9 | — |
-| `SumPrices` | `size=8` | 998.1 ± 32.7 | — | 1,176.0 | — |
-| `monocleModifyStreet` | `size=512` | 106,445.4 ± 4,506.6 | — | 333,473.6 | — |
-| `monocleModifyStreet` | `size=64` | 12,360.4 ± 434.7 | — | 30,081.2 | — |
-| `monocleModifyStreet` | `size=8` | 1,988.9 ± 33.4 | — | 4,664.0 | — |
-| `monocleReadStreet` | `size=512` | 55,727.5 ± 2,747.4 | — | 193,199.7 | — |
-| `monocleReadStreet` | `size=64` | 6,846.0 ± 225.3 | — | 24,704.7 | — |
-| `monocleReadStreet` | `size=8` | 1,106.9 ± 22.5 | — | 3,648.0 | — |
-| `monocleSumPrices` | `size=512` | 302,491.2 ± 18,291.5 | — | 1,178,338.9 | — |
-| `monocleSumPrices` | `size=64` | 10,097.4 ± 333.6 | — | 45,841.0 | — |
-| `monocleSumPrices` | `size=8` | 1,620.9 ± 59.8 | — | 6,445.4 | — |
-| `naiveModifyStreet` | `size=512` | 107,342.7 ± 4,232.6 | — | 333,466.3 | — |
-| `naiveModifyStreet` | `size=64` | 12,129.9 ± 323.8 | — | 30,057.2 | — |
-| `naiveModifyStreet` | `size=8` | 2,015.1 ± 53.0 | — | 4,640.0 | — |
-| `naiveReadStreet` | `size=512` | 55,926.8 ± 2,328.4 | — | 193,199.9 | — |
-| `naiveReadStreet` | `size=64` | 7,037.7 ± 359.0 | — | 24,704.7 | — |
-| `naiveReadStreet` | `size=8` | 1,131.7 ± 50.5 | — | 3,648.0 | — |
-| `naiveSumPrices` | `size=512` | 58,612.2 ± 1,852.9 | — | 230,090.2 | — |
-| `naiveSumPrices` | `size=64` | 7,396.0 ± 175.9 | — | 29,336.8 | — |
-| `naiveSumPrices` | `size=8` | 1,164.6 ± 19.5 | — | 4,248.0 | — |
-| `nativeReadStreet` | `size=512` | 25,173.3 ± 782.5 | — | 445.0 | — |
-| `nativeReadStreet` | `size=64` | 3,200.1 ± 116.8 | — | 424.3 | — |
-| `nativeReadStreet` | `size=8` | 569.7 ± 14.8 | — | 424.0 | — |
-| `nativeSumPrices` | `size=512` | 43,656.3 ± 2,038.0 | — | 86,268.1 | — |
-| `nativeSumPrices` | `size=64` | 5,282.6 ± 229.6 | — | 10,920.6 | — |
-| `nativeSumPrices` | `size=8` | 748.9 ± 33.0 | — | 1,512.0 | — |
+| `ModifyStreet` | `size=512` | 5,605.8 ± 58.5 | — | 42,029.0 | — |
+| `ModifyStreet` | `size=64` | 803.2 ± 4.9 | — | 5,432.1 | — |
+| `ModifyStreet` | `size=8` | 233.2 ± 1.1 | — | 1,080.0 | — |
+| `ReadStreet` | `size=512` | 147.4 ± 2.1 | — | 109.5 | — |
+| `ReadStreet` | `size=64` | 149.7 ± 1.2 | — | 128.0 | — |
+| `ReadStreet` | `size=8` | 147.2 ± 2.5 | — | 90.7 | — |
+| `SumPrices` | `size=512` | 67,758.6 ± 332.5 | — | 63,713.1 | — |
+| `SumPrices` | `size=64` | 8,401.5 ± 64.8 | — | 8,121.0 | — |
+| `SumPrices` | `size=8` | 1,147.9 ± 22.4 | — | 1,176.0 | — |
+| `monocleModifyStreet` | `size=512` | 119,210.4 ± 699.3 | — | 333,548.1 | — |
+| `monocleModifyStreet` | `size=64` | 14,249.5 ± 30.7 | — | 30,081.4 | — |
+| `monocleModifyStreet` | `size=8` | 2,516.6 ± 21.3 | — | 4,664.1 | — |
+| `monocleReadStreet` | `size=512` | 62,735.4 ± 378.6 | — | 193,205.7 | — |
+| `monocleReadStreet` | `size=64` | 8,035.7 ± 145.8 | — | 24,704.8 | — |
+| `monocleReadStreet` | `size=8` | 1,277.8 ± 12.7 | — | 3,648.0 | — |
+| `monocleSumPrices` | `size=512` | 295,494.7 ± 2,715.7 | — | 1,178,332.9 | — |
+| `monocleSumPrices` | `size=64` | 11,464.7 ± 31.9 | — | 45,833.2 | — |
+| `monocleSumPrices` | `size=8` | 1,882.8 ± 14.7 | — | 6,338.7 | — |
+| `naiveModifyStreet` | `size=512` | 119,443.0 ± 445.5 | — | 333,499.9 | — |
+| `naiveModifyStreet` | `size=64` | 14,268.9 ± 134.0 | — | 30,057.4 | — |
+| `naiveModifyStreet` | `size=8` | 2,500.8 ± 4.7 | — | 4,640.1 | — |
+| `naiveReadStreet` | `size=512` | 62,951.2 ± 232.8 | — | 193,205.9 | — |
+| `naiveReadStreet` | `size=64` | 7,949.0 ± 18.8 | — | 24,704.8 | — |
+| `naiveReadStreet` | `size=8` | 1,271.5 ± 6.1 | — | 3,648.0 | — |
+| `naiveSumPrices` | `size=512` | 68,711.6 ± 442.1 | — | 230,098.9 | — |
+| `naiveSumPrices` | `size=64` | 8,578.0 ± 21.8 | — | 29,336.9 | — |
+| `naiveSumPrices` | `size=8` | 1,348.2 ± 6.6 | — | 4,248.0 | — |
+| `nativeReadStreet` | `size=512` | 28,950.9 ± 219.7 | — | 448.2 | — |
+| `nativeReadStreet` | `size=64` | 3,734.5 ± 69.9 | — | 424.4 | — |
+| `nativeReadStreet` | `size=8` | 667.3 ± 8.2 | — | 424.0 | — |
+| `nativeSumPrices` | `size=512` | 47,023.9 ± 989.3 | — | 86,269.7 | — |
+| `nativeSumPrices` | `size=64` | 5,744.5 ± 15.2 | — | 10,920.6 | — |
+| `nativeSumPrices` | `size=8` | 856.3 ± 5.9 | — | 1,512.0 | — |
## PlatedBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `TransformDeep` | `n=4096` | 113,326.9 ± 2,754.6 | — | 624,378.5 | — |
-| `TransformDeep` | `n=512` | 10,667.5 ± 288.8 | — | 57,361.1 | — |
-| `TransformDeep` | `n=64` | 1,196.8 ± 27.1 | — | 7,184.0 | — |
-| `TransformExpr` | `n=4096` | 108,826.1 ± 7,367.5 | 114,486.6 ± 3,342.9 | 655,343.2 | 753,699.3 |
-| `TransformExpr` | `n=512` | 13,313.6 ± 265.0 | 10,687.4 ± 179.1 | 81,825.4 | 69,585.1 |
-| `TransformExpr` | `n=64` | 1,701.4 ± 23.1 | 1,875.6 ± 89.0 | 10,144.0 | 11,728.0 |
-| `UniverseDeep` | `n=4096` | 145,025.4 ± 3,131.3 | — | 786,609.6 | — |
-| `UniverseDeep` | `n=512` | 14,161.1 ± 537.4 | — | 98,377.4 | — |
-| `UniverseDeep` | `n=64` | 1,580.6 ± 56.9 | — | 12,360.0 | — |
-| `UniverseExpr` | `n=4096` | 145,392.7 ± 3,046.4 | 3,858,618.7 ± 208,771.0 | 786,417.8 | 4,688,483.2 |
-| `UniverseExpr` | `n=512` | 14,006.6 ± 308.2 | 256,141.0 ± 7,774.9 | 98,185.4 | 475,018.2 |
-| `UniverseExpr` | `n=64` | 1,597.6 ± 81.0 | 22,972.4 ± 527.2 | 12,168.0 | 45,424.4 |
-| `UniverseJson` | `n=4096` | 200,009.6 ± 6,961.7 | 4,183,491.0 ± 222,157.7 | 786,457.6 | 6,490,581.5 |
-| `UniverseJson` | `n=512` | 20,510.5 ± 519.2 | 298,099.7 ± 10,105.5 | 98,186.1 | 699,926.4 |
-| `UniverseJson` | `n=64` | 2,520.9 ± 107.6 | 26,607.2 ± 691.3 | 12,168.0 | 73,208.5 |
-| `visitorTransformDeep` | `n=4096` | 28,478.6 ± 730.9 | — | 163,876.7 | — |
-| `visitorTransformDeep` | `n=512` | 3,335.8 ± 85.9 | — | 20,496.3 | — |
-| `visitorTransformDeep` | `n=64` | 388.6 ± 11.7 | — | 2,576.0 | — |
-| `visitorTransformExpr` | `n=4096` | 53,102.5 ± 716.5 | — | 360,462.7 | — |
-| `visitorTransformExpr` | `n=512` | 5,965.5 ± 159.6 | — | 45,032.6 | — |
-| `visitorTransformExpr` | `n=64` | 809.7 ± 21.0 | — | 5,608.0 | — |
-| `visitorUniverseDeep` | `n=4096` | 48,077.1 ± 783.6 | — | 196,699.0 | — |
-| `visitorUniverseDeep` | `n=512` | 5,400.2 ± 111.5 | — | 24,632.6 | — |
-| `visitorUniverseDeep` | `n=64` | 607.3 ± 20.9 | — | 3,128.0 | — |
-| `visitorUniverseExpr` | `n=4096` | 52,303.4 ± 1,145.9 | — | 196,654.1 | — |
-| `visitorUniverseExpr` | `n=512` | 6,284.3 ± 162.1 | — | 24,584.6 | — |
-| `visitorUniverseExpr` | `n=64` | 605.1 ± 10.7 | — | 3,080.0 | — |
-| `visitorUniverseJson` | `n=4096` | 119,428.0 ± 36,166.3 | — | 374,558.9 | — |
-| `visitorUniverseJson` | `n=512` | 21,600.7 ± 500.2 | — | 40,954.2 | — |
-| `visitorUniverseJson` | `n=64` | 1,725.3 ± 54.4 | — | 4,424.0 | — |
+| `TransformDeep` | `n=4096` | 113,589.8 ± 270.8 | — | 624,378.7 | — |
+| `TransformDeep` | `n=512` | 12,073.9 ± 177.3 | — | 57,361.2 | — |
+| `TransformDeep` | `n=64` | 1,262.8 ± 4.9 | — | 7,184.0 | — |
+| `TransformExpr` | `n=4096` | 114,650.3 ± 2,459.4 | 134,018.3 ± 1,604.5 | 655,347.5 | 753,713.5 |
+| `TransformExpr` | `n=512` | 14,224.3 ± 42.5 | 12,097.4 ± 92.1 | 81,825.5 | 69,585.2 |
+| `TransformExpr` | `n=64` | 1,748.8 ± 20.5 | 2,043.7 ± 12.4 | 10,144.0 | 11,728.0 |
+| `UniverseDeep` | `n=4096` | 139,189.4 ± 1,415.4 | — | 786,605.3 | — |
+| `UniverseDeep` | `n=512` | 16,866.2 ± 62.4 | — | 98,377.7 | — |
+| `UniverseDeep` | `n=64` | 1,945.7 ± 6.2 | — | 12,360.0 | — |
+| `UniverseExpr` | `n=4096` | 137,192.7 ± 991.7 | 4,297,983.2 ± 173,922.3 | 786,411.9 | 4,688,802.6 |
+| `UniverseExpr` | `n=512` | 16,558.9 ± 210.1 | 301,081.2 ± 5,228.7 | 98,185.7 | 475,022.7 |
+| `UniverseExpr` | `n=64` | 1,904.5 ± 9.4 | 26,311.1 ± 151.7 | 12,168.0 | 45,424.5 |
+| `UniverseJson` | `n=4096` | 178,734.8 ± 1,039.6 | 4,529,430.0 ± 214,793.4 | 786,442.1 | 6,884,001.3 |
+| `UniverseJson` | `n=512` | 21,362.6 ± 81.5 | 331,801.0 ± 4,258.1 | 98,186.2 | 699,929.9 |
+| `UniverseJson` | `n=64` | 2,387.4 ± 45.3 | 30,140.9 ± 164.7 | 12,168.0 | 73,208.6 |
+| `visitorTransformDeep` | `n=4096` | 39,532.5 ± 203.4 | — | 163,884.8 | — |
+| `visitorTransformDeep` | `n=512` | 4,360.8 ± 80.5 | — | 20,496.4 | — |
+| `visitorTransformDeep` | `n=64` | 484.5 ± 4.0 | — | 2,576.0 | — |
+| `visitorTransformExpr` | `n=4096` | 61,466.4 ± 176.0 | — | 360,468.7 | — |
+| `visitorTransformExpr` | `n=512` | 7,196.9 ± 17.8 | — | 45,032.7 | — |
+| `visitorTransformExpr` | `n=64` | 938.6 ± 3.6 | — | 5,608.0 | — |
+| `visitorUniverseDeep` | `n=4096` | 52,905.9 ± 213.8 | — | 196,702.5 | — |
+| `visitorUniverseDeep` | `n=512` | 6,432.1 ± 20.5 | — | 24,632.7 | — |
+| `visitorUniverseDeep` | `n=64` | 662.8 ± 1.3 | — | 3,128.0 | — |
+| `visitorUniverseExpr` | `n=4096` | 46,975.4 ± 178.3 | — | 196,650.2 | — |
+| `visitorUniverseExpr` | `n=512` | 5,799.4 ± 32.8 | — | 24,584.6 | — |
+| `visitorUniverseExpr` | `n=64` | 681.0 ± 8.8 | — | 3,080.0 | — |
+| `visitorUniverseJson` | `n=4096` | 111,847.0 ± 12,983.9 | — | 299,674.6 | — |
+| `visitorUniverseJson` | `n=512` | 18,126.2 ± 1,237.6 | — | 42,313.9 | — |
+| `visitorUniverseJson` | `n=64` | 1,670.9 ± 82.8 | — | 4,424.0 | — |
## PowerSeriesBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `Modify_powerEach` | `size=1024` | 9,886.9 ± 200.8 | — | 41,412.7 | — |
-| `Modify_powerEach` | `size=16` | 171.8 ± 9.4 | — | 1,088.0 | — |
-| `Modify_powerEach` | `size=256` | 2,661.3 ± 138.5 | — | 10,688.4 | — |
-| `Modify_powerEach` | `size=4` | 76.9 ± 2.2 | — | 608.0 | — |
-| `Modify_powerEach` | `size=4096` | 41,538.5 ± 1,898.3 | — | 164,356.0 | — |
-| `Modify_powerEach` | `size=64` | 551.6 ± 11.8 | — | 3,008.0 | — |
-| `monocle_powerEach` | `size=1024` | 49,643.0 ± 838.4 | — | 279,425.7 | — |
-| `monocle_powerEach` | `size=16` | 504.5 ± 10.4 | — | 3,720.0 | — |
-| `monocle_powerEach` | `size=256` | 16,763.3 ± 388.6 | — | 107,338.6 | — |
-| `monocle_powerEach` | `size=4` | 130.9 ± 5.0 | — | 1,176.0 | — |
-| `monocle_powerEach` | `size=4096` | 194,302.6 ± 4,965.9 | — | 967,868.4 | — |
-| `monocle_powerEach` | `size=64` | 2,150.6 ± 37.8 | — | 14,520.1 | — |
-| `naive_powerEach` | `size=1024` | 5,159.9 ± 108.3 | — | 28,730.4 | — |
-| `naive_powerEach` | `size=16` | 71.4 ± 1.1 | — | 504.0 | — |
-| `naive_powerEach` | `size=256` | 1,262.8 ± 16.6 | — | 7,224.2 | — |
-| `naive_powerEach` | `size=4` | 19.5 ± 0.7 | — | 168.0 | — |
-| `naive_powerEach` | `size=4096` | 23,758.9 ± 760.9 | — | 114,783.0 | — |
-| `naive_powerEach` | `size=64` | 336.2 ± 4.8 | — | 1,848.0 | — |
+| `Modify_powerEach` | `size=1024` | 10,606.2 ± 32.4 | — | 41,413.0 | — |
+| `Modify_powerEach` | `size=16` | 180.3 ± 1.2 | — | 1,088.0 | — |
+| `Modify_powerEach` | `size=256` | 2,462.5 ± 13.8 | — | 10,688.4 | — |
+| `Modify_powerEach` | `size=4` | 91.5 ± 0.2 | — | 608.0 | — |
+| `Modify_powerEach` | `size=4096` | 42,276.9 ± 1,158.2 | — | 164,356.9 | — |
+| `Modify_powerEach` | `size=64` | 657.0 ± 12.5 | — | 3,008.0 | — |
+| `monocle_powerEach` | `size=1024` | 50,383.4 ± 666.2 | — | 279,426.2 | — |
+| `monocle_powerEach` | `size=16` | 595.1 ± 2.4 | — | 3,720.0 | — |
+| `monocle_powerEach` | `size=256` | 18,151.2 ± 91.3 | — | 107,330.8 | — |
+| `monocle_powerEach` | `size=4` | 167.2 ± 1.6 | — | 1,176.0 | — |
+| `monocle_powerEach` | `size=4096` | 176,221.2 ± 2,120.9 | — | 967,839.0 | — |
+| `monocle_powerEach` | `size=64` | 2,226.2 ± 11.8 | — | 14,514.7 | — |
+| `naive_powerEach` | `size=1024` | 5,284.5 ± 182.9 | — | 28,730.5 | — |
+| `naive_powerEach` | `size=16` | 84.7 ± 0.9 | — | 504.0 | — |
+| `naive_powerEach` | `size=256` | 1,246.1 ± 5.7 | — | 7,224.2 | — |
+| `naive_powerEach` | `size=4` | 26.2 ± 0.2 | — | 168.0 | — |
+| `naive_powerEach` | `size=4096` | 20,329.7 ± 97.9 | — | 114,777.1 | — |
+| `naive_powerEach` | `size=64` | 318.4 ± 2.3 | — | 1,848.0 | — |
## PowerSeriesNestedBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `Modify_nested` | `size=1024` | 49,951.6 ± 1,641.6 | — | 210,533.6 | — |
-| `Modify_nested` | `size=16` | 970.4 ± 27.2 | — | 4,744.0 | — |
-| `Modify_nested` | `size=256` | 14,139.5 ± 281.2 | — | 53,696.9 | — |
-| `Modify_nested` | `size=4` | 441.6 ± 12.4 | — | 2,264.0 | — |
-| `Modify_nested` | `size=64` | 3,800.5 ± 170.3 | — | 14,616.4 | — |
-| `monocle_nested` | `size=1024` | 221,339.5 ± 6,741.5 | — | 1,118,802.9 | — |
-| `monocle_nested` | `size=16` | 2,462.5 ± 111.3 | — | 15,776.1 | — |
-| `monocle_nested` | `size=256` | 71,544.4 ± 1,584.1 | — | 430,203.3 | — |
-| `monocle_nested` | `size=4` | 908.2 ± 24.2 | — | 5,536.0 | — |
-| `monocle_nested` | `size=64` | 8,092.0 ± 268.3 | — | 58,859.5 | — |
-| `naive_nested` | `size=1024` | 19,826.4 ± 650.6 | — | 115,068.1 | — |
-| `naive_nested` | `size=16` | 309.9 ± 11.5 | — | 2,136.0 | — |
-| `naive_nested` | `size=256` | 4,900.5 ± 120.3 | — | 29,019.1 | — |
-| `naive_nested` | `size=4` | 95.0 ± 3.3 | — | 792.0 | — |
-| `naive_nested` | `size=64` | 1,230.1 ± 26.1 | — | 7,512.1 | — |
+| `Modify_nested` | `size=1024` | 51,294.5 ± 907.5 | — | 210,560.0 | — |
+| `Modify_nested` | `size=16` | 1,103.3 ± 34.1 | — | 4,792.0 | — |
+| `Modify_nested` | `size=256` | 14,889.8 ± 308.2 | — | 53,729.4 | — |
+| `Modify_nested` | `size=4` | 527.3 ± 11.0 | — | 2,240.0 | — |
+| `Modify_nested` | `size=64` | 4,018.3 ± 424.4 | — | 14,640.5 | — |
+| `monocle_nested` | `size=1024` | 207,300.7 ± 2,134.2 | — | 1,118,777.4 | — |
+| `monocle_nested` | `size=16` | 2,612.0 ± 91.6 | — | 15,749.4 | — |
+| `monocle_nested` | `size=256` | 75,908.4 ± 724.0 | — | 430,204.5 | — |
+| `monocle_nested` | `size=4` | 1,026.8 ± 52.2 | — | 5,557.4 | — |
+| `monocle_nested` | `size=64` | 9,280.5 ± 95.8 | — | 58,859.7 | — |
+| `naive_nested` | `size=1024` | 19,638.8 ± 112.7 | — | 115,067.8 | — |
+| `naive_nested` | `size=16` | 353.8 ± 6.1 | — | 2,136.0 | — |
+| `naive_nested` | `size=256` | 4,959.0 ± 67.9 | — | 29,019.1 | — |
+| `naive_nested` | `size=4` | 126.8 ± 1.0 | — | 792.0 | — |
+| `naive_nested` | `size=64` | 1,247.3 ± 23.9 | — | 7,512.1 | — |
## PowerSeriesPrismBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `Modify_sparse` | `size=128` | 1,238.7 ± 95.2 | — | 4,816.1 | — |
-| `Modify_sparse` | `size=2048` | 19,756.0 ± 405.9 | — | 104,687.9 | — |
-| `Modify_sparse` | `size=32` | 298.2 ± 7.4 | — | 1,360.0 | — |
-| `Modify_sparse` | `size=512` | 5,004.9 ± 104.0 | — | 24,785.4 | — |
-| `Modify_sparse` | `size=8` | 87.8 ± 2.5 | — | 496.0 | — |
-| `monocle_sparse` | `size=128` | 3,997.1 ± 136.1 | — | 27,808.2 | — |
-| `monocle_sparse` | `size=2048` | 97,801.6 ± 8,555.6 | — | 523,143.7 | — |
-| `monocle_sparse` | `size=32` | 1,131.4 ± 27.3 | — | 7,024.0 | — |
-| `monocle_sparse` | `size=512` | 27,484.7 ± 720.6 | — | 166,680.5 | — |
-| `monocle_sparse` | `size=8` | 294.5 ± 20.7 | — | 1,952.0 | — |
-| `naive_sparse` | `size=128` | 323.6 ± 9.7 | — | 1,568.0 | — |
-| `naive_sparse` | `size=2048` | 3,810.4 ± 94.1 | — | 24,611.2 | — |
-| `naive_sparse` | `size=32` | 82.7 ± 1.6 | — | 416.0 | — |
-| `naive_sparse` | `size=512` | 1,163.7 ± 41.9 | — | 6,176.3 | — |
-| `naive_sparse` | `size=8` | 17.0 ± 0.4 | — | 128.0 | — |
+| `Modify_sparse` | `size=128` | 1,141.5 ± 17.6 | — | 4,816.1 | — |
+| `Modify_sparse` | `size=2048` | 19,349.0 ± 231.6 | — | 104,672.0 | — |
+| `Modify_sparse` | `size=32` | 276.7 ± 2.8 | — | 1,360.0 | — |
+| `Modify_sparse` | `size=512` | 4,936.7 ± 51.6 | — | 24,785.4 | — |
+| `Modify_sparse` | `size=8` | 92.0 ± 1.2 | — | 496.0 | — |
+| `monocle_sparse` | `size=128` | 4,281.4 ± 34.8 | — | 27,808.2 | — |
+| `monocle_sparse` | `size=2048` | 94,378.5 ± 1,613.7 | — | 523,141.3 | — |
+| `monocle_sparse` | `size=32` | 1,104.9 ± 8.5 | — | 7,032.0 | — |
+| `monocle_sparse` | `size=512` | 29,093.4 ± 401.3 | — | 166,681.6 | — |
+| `monocle_sparse` | `size=8` | 322.3 ± 7.6 | — | 1,952.0 | — |
+| `naive_sparse` | `size=128` | 277.9 ± 4.8 | — | 1,568.0 | — |
+| `naive_sparse` | `size=2048` | 4,417.9 ± 47.3 | — | 24,611.8 | — |
+| `naive_sparse` | `size=32` | 72.6 ± 0.5 | — | 416.0 | — |
+| `naive_sparse` | `size=512` | 1,167.8 ± 13.4 | — | 6,176.3 | — |
+| `naive_sparse` | `size=8` | 20.4 ± 0.3 | — | 128.0 | — |
## PrismBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `GetOptionAbsent` | `-` | 0.6 ± 0.0 | 0.7 ± 0.0 | 0.0 | 0.0 |
-| `GetOptionPresent` | `-` | 0.6 ± 0.0 | 0.7 ± 0.0 | 0.0 | 0.0 |
-| `GetRightAbsent` | `-` | 0.7 ± 0.0 | 0.7 ± 0.0 | 0.0 | 0.0 |
-| `GetRightPresent` | `-` | 2.1 ± 0.1 | 2.2 ± 0.1 | 16.0 | 16.0 |
-| `ReverseGet` | `-` | 2.3 ± 0.1 | 2.3 ± 0.1 | 16.0 | 16.0 |
-| `RightReverseGet` | `-` | 2.3 ± 0.1 | 2.3 ± 0.1 | 16.0 | 16.0 |
+| `GetOptionAbsent` | `-` | 0.7 ± 0.0 | 0.8 ± 0.0 | 0.0 | 0.0 |
+| `GetOptionPresent` | `-` | 0.7 ± 0.0 | 0.8 ± 0.0 | 0.0 | 0.0 |
+| `GetRightAbsent` | `-` | 0.8 ± 0.0 | 0.9 ± 0.0 | 0.0 | 0.0 |
+| `GetRightPresent` | `-` | 2.4 ± 0.0 | 2.5 ± 0.0 | 16.0 | 16.0 |
+| `ReverseGet` | `-` | 2.4 ± 0.0 | 2.4 ± 0.0 | 16.0 | 16.0 |
+| `RightReverseGet` | `-` | 2.4 ± 0.0 | 2.4 ± 0.0 | 16.0 | 16.0 |
## ReviewBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `ReverseGet_0` | `-` | 2.1 ± 0.1 | — | 24.0 | — |
-| `ReverseGet_3` | `-` | 19.4 ± 0.4 | — | 72.0 | — |
-| `ReverseGet_6` | `-` | 32.3 ± 0.5 | — | 120.0 | — |
-| `naiveBuild_0` | `-` | 2.0 ± 0.0 | — | 24.0 | — |
-| `naiveBuild_3` | `-` | 6.0 ± 0.1 | — | 72.0 | — |
-| `naiveBuild_6` | `-` | 9.8 ± 0.2 | — | 120.0 | — |
+| `ReverseGet_0` | `-` | 3.5 ± 0.0 | — | 24.0 | — |
+| `ReverseGet_3` | `-` | 13.2 ± 0.1 | — | 72.0 | — |
+| `ReverseGet_6` | `-` | 22.7 ± 0.4 | — | 120.0 | — |
+| `naiveBuild_0` | `-` | 3.5 ± 0.0 | — | 24.0 | — |
+| `naiveBuild_3` | `-` | 10.3 ± 0.4 | — | 72.0 | — |
+| `naiveBuild_6` | `-` | 16.7 ± 0.1 | — | 120.0 | — |
## SchemesBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `Ana` | `-` | 83,808.2 ± 2,297.0 | — | 589,712.6 | — |
-| `Cata` | `-` | 66,151.1 ± 1,339.7 | — | 197,568.5 | — |
-| `Hylo` | `-` | 69,268.7 ± 6,246.8 | — | 295,848.5 | — |
-| `drosteAna` | `-` | 47,082.2 ± 3,478.9 | — | 327,632.3 | — |
-| `drosteCata` | `-` | 41,900.7 ± 1,702.7 | — | 164,824.3 | — |
-| `drosteHylo` | `-` | 49,002.3 ± 3,275.8 | — | 328,640.3 | — |
-| `handAna` | `-` | 29,080.8 ± 1,333.6 | — | 163,816.2 | — |
-| `handCata` | `-` | 9,224.0 ± 178.4 | — | 0.1 | — |
-| `handHylo` | `-` | 6,835.2 ± 180.0 | — | 0.0 | — |
+| `Ana` | `-` | 97,638.1 ± 1,816.4 | — | 589,712.7 | — |
+| `Cata` | `-` | 56,898.7 ± 493.8 | — | 197,568.4 | — |
+| `Hylo` | `-` | 66,291.2 ± 853.8 | — | 295,848.5 | — |
+| `drosteAna` | `-` | 51,618.6 ± 441.7 | — | 327,632.4 | — |
+| `drosteCata` | `-` | 31,011.1 ± 162.5 | — | 164,824.2 | — |
+| `drosteHylo` | `-` | 52,346.2 ± 987.2 | — | 328,640.4 | — |
+| `handAna` | `-` | 27,962.2 ± 236.1 | — | 163,816.2 | — |
+| `handCata` | `-` | 12,707.1 ± 130.0 | — | 0.1 | — |
+| `handHylo` | `-` | 10,531.1 ± 379.5 | — | 0.1 | — |
## SetterBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `Modify_0` | `-` | 2.3 ± 0.2 | 2.2 ± 0.0 | 24.0 | 24.0 |
-| `Modify_3` | `-` | 8.6 ± 0.2 | 21.7 ± 1.0 | 72.0 | 168.0 |
-| `Modify_6` | `-` | 17.9 ± 0.7 | 41.5 ± 1.4 | 120.0 | 288.0 |
-| `Modify_orderId` | `-` | 3.0 ± 0.2 | 3.1 ± 0.4 | 40.0 | 40.0 |
+| `Modify_0` | `-` | 3.4 ± 0.0 | 3.4 ± 0.0 | 24.0 | 24.0 |
+| `Modify_3` | `-` | 11.4 ± 0.1 | 26.6 ± 0.1 | 72.0 | 168.0 |
+| `Modify_6` | `-` | 20.2 ± 0.3 | 49.5 ± 0.4 | 120.0 | 288.0 |
+| `Modify_orderId` | `-` | 5.4 ± 0.1 | 5.4 ± 0.0 | 40.0 | 40.0 |
## TraversalBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `FoldNested` | `size=512` | 4,042.5 ± 67.8 | — | 20,200.6 | — |
-| `FoldNested` | `size=64` | 465.0 ± 7.9 | — | 2,680.0 | — |
-| `FoldNested` | `size=8` | 40.5 ± 6.1 | — | 360.0 | — |
-| `FoldPrices` | `size=512` | 1,699.9 ± 21.9 | 24,631.9 ± 313.5 | 12,312.3 | 162,563.9 |
-| `FoldPrices` | `size=64` | 149.8 ± 1.6 | 2,184.0 ± 16.8 | 1,560.0 | 15,408.1 |
-| `FoldPrices` | `size=8` | 18.5 ± 0.4 | 265.5 ± 9.4 | 216.0 | 2,000.0 |
-| `Modify` | `size=512` | 6,353.5 ± 104.7 | 28,880.7 ± 400.6 | 36,897.0 | 176,887.0 |
-| `Modify` | `size=64` | 723.0 ± 17.5 | 2,025.0 ± 37.9 | 4,640.0 | 14,408.1 |
-| `Modify` | `size=8` | 77.7 ± 2.6 | 240.9 ± 8.8 | 608.0 | 1,896.0 |
+| `FoldNested` | `size=512` | 4,674.9 ± 52.6 | — | 20,200.7 | — |
+| `FoldNested` | `size=64` | 534.3 ± 9.2 | — | 2,680.0 | — |
+| `FoldNested` | `size=8` | 54.2 ± 6.9 | — | 360.0 | — |
+| `FoldPrices` | `size=512` | 1,986.2 ± 42.9 | 27,737.5 ± 201.9 | 12,312.3 | 162,564.4 |
+| `FoldPrices` | `size=64` | 221.2 ± 4.5 | 2,355.4 ± 9.4 | 1,560.0 | 15,408.1 |
+| `FoldPrices` | `size=8` | 30.1 ± 0.2 | 356.1 ± 4.8 | 216.0 | 2,000.0 |
+| `Modify` | `size=512` | 7,270.3 ± 69.4 | 30,282.1 ± 220.1 | 36,897.2 | 176,888.1 |
+| `Modify` | `size=64` | 815.8 ± 14.2 | 2,192.6 ± 21.4 | 4,640.0 | 14,408.1 |
+| `Modify` | `size=8` | 97.7 ± 2.0 | 309.9 ± 4.6 | 608.0 | 1,896.0 |
## ZioDiBench
| Benchmark | params | eo ns/op | monocle ns/op | eo B/op | monocle B/op |
|---|---|---:|---:|---:|---:|
-| `DrillGet` | `-` | 6.5 ± 0.2 | — | 0.0 | — |
-| `DrillModify` | `-` | 76.6 ± 4.8 | — | 472.0 | — |
-| `ServiceGet` | `-` | 3.5 ± 0.1 | — | 0.0 | — |
-| `ServiceReplace` | `-` | 68.8 ± 0.4 | — | 400.0 | — |
-| `handDrillGet` | `-` | 10.7 ± 0.2 | — | 120.0 | — |
-| `handDrillModify` | `-` | 92.5 ± 0.6 | — | 592.0 | — |
-| `handServiceGet` | `-` | 10.3 ± 0.3 | — | 120.0 | — |
-| `handServiceReplace` | `-` | 85.0 ± 5.3 | — | 520.0 | — |
+| `DrillGet` | `-` | 7.4 ± 0.0 | — | 0.0 | — |
+| `DrillModify` | `-` | 86.4 ± 0.9 | — | 472.0 | — |
+| `ServiceGet` | `-` | 4.1 ± 0.0 | — | 0.0 | — |
+| `ServiceReplace` | `-` | 75.3 ± 3.8 | — | 400.0 | — |
+| `handDrillGet` | `-` | 17.5 ± 0.1 | — | 120.0 | — |
+| `handDrillModify` | `-` | 94.3 ± 0.4 | — | 592.0 | — |
+| `handServiceGet` | `-` | 17.5 ± 0.3 | — | 120.0 | — |
+| `handServiceReplace` | `-` | 84.2 ± 0.2 | — | 520.0 | — |
diff --git a/CLAUDE.md b/CLAUDE.md
index f8f39344..b1b26934 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -3,8 +3,8 @@
## Project
`cats-eo` — an Existential Optics library for Scala 3, built on top of
-[cats](https://typelevel.org/cats/). Scala `3.8.3` via sbt `1.12.9`
-(`project/build.properties`), runs on JDK 17, 21, or 25 — but the `kyo` module (and therefore the docs site) needs JDK 25; on older JVMs it drops out of the root aggregate.
+[cats](https://typelevel.org/cats/). Scala `3.9.0` (the `scala3Version` pin in
+`build.sbt`) via sbt `1.13.0` (`project/build.properties`), runs on JDK 17, 21, or 25 — but the `kyo` module (and therefore the docs site) needs JDK 25; on older JVMs it drops out of the root aggregate.
Human contributors: see [`CONTRIBUTING.md`](./CONTRIBUTING.md) for the
day-one bootstrap. This file is the parallel guide for AI agents.
@@ -44,7 +44,7 @@ curl -fLo /usr/local/bin/cs \
https://github.com/coursier/coursier/releases/latest/download/cs-x86_64-pc-linux.gz \
&& gunzip -f /usr/local/bin/cs && chmod +x /usr/local/bin/cs
-# A recent JVM (sbt 1.12 supports JDK 17 and JDK 21)
+# A recent JVM (the project runs on JDK 17, 21, or 25; `kyo` needs 25)
cs java --jvm temurin:21 --setup # writes JAVA_HOME into ~/.profile
# Scala dev tools
@@ -54,10 +54,10 @@ cs install --install-dir /usr/local/bin sbt scala scalafmt scalafix metals metal
After `cs java --setup`, open a fresh shell (or `source ~/.profile`) so
`JAVA_HOME` is on your PATH.
-Installed versions in this environment: `sbt 1.12.9`, `scala-runner 1.12.4`
-(Scala `3.8.3` by default, matching the project), `scalafmt 3.11.0` (honours
-the `version` pin in `.scalafmt.conf`), `scalafix 0.14.6`, `metals 1.6.7`,
-`metals-mcp 1.6.7`.
+Installed versions in this environment: `sbt 1.12.9` (the launcher script — it
+boots the sbt version pinned in `project/build.properties`), `scala-runner
+1.12.4`, `scalafmt 3.11.0` (honours the `version` pin in `.scalafmt.conf`),
+`scalafix 0.14.6`, `metals 1.6.7`, `metals-mcp 1.6.7`.
### Day-to-day commands
@@ -136,12 +136,12 @@ SBT_OPTS="-Xmx6g" sbt mutationAll
Key facts, all the hard-won kind:
-- **Invoke as `project ; stryker`, NOT `/stryker`.** The
- module-scoped task form reads `loadedTestFrameworks` from the
- aggregating root project (no test deps), so specs2 is invisible and
- *every* mutant comes back `NoCoverage`. The `mutationAll` alias uses the
+- **Invoke as `project ; stryker`** — the `mutationAll` alias uses the
project-switch form across core, laws, generics, schemes, schemesLaws,
- circe, avro, jsoniter.
+ circe, avro, jsoniter, zio, kyo. The module-scoped `/stryker` form works
+ again since 0.20.4; before that it resolved `loadedTestFrameworks` from the
+ aggregating root project (no test deps), so specs2 was invisible and
+ *every* mutant came back `NoCoverage`.
- **It's a report, not a gate** (`strykerThresholdsBreak := 0`): a low
score never fails the build.
- **`core` and `laws` are scored against the `tests/` suite via
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 9da95010..8ad58947 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -14,9 +14,9 @@ canonical reference and stays current with what CI runs.
In short, you need:
-- JDK 17 or JDK 21 (Temurin is fine).
-- `sbt` 1.12.x.
-- Scala 3.8.x (matches `project/build.properties`).
+- JDK 17 or JDK 21 (Temurin is fine) — JDK 25 for the `kyo` module and the docs site.
+- `sbt` 1.13.x (the launcher boots the version pinned in `project/build.properties`).
+- Scala 3.9.x (pinned as `scala3Version` in `build.sbt`).
- `scalafmt` 3.11.x (honours the pin in `.scalafmt.conf`).
Clone the repo, then optionally enable the project git hooks so your
diff --git a/avro/src/main/scala/dev/constructive/eo/avro/AvroWalk.scala b/avro/src/main/scala/dev/constructive/eo/avro/AvroWalk.scala
index 152d3ccc..0644bb70 100644
--- a/avro/src/main/scala/dev/constructive/eo/avro/AvroWalk.scala
+++ b/avro/src/main/scala/dev/constructive/eo/avro/AvroWalk.scala
@@ -582,7 +582,16 @@ private[avro] object AvroWalk:
out(i) = idx
loop(i + 1, t, index)
else
- val here = if index != null then index else normalisedNameIndex(record)
+ // A `match` on the null sentinel rather than `if index != null`: stryker4s's
+ // `ConditionalExpression` mutant replaces an `if` condition with `true`/`false`, which
+ // would drop the flow narrowing and leave `index` typed `JMap[String, Integer] | Null`,
+ // so `here.get(...)` stops compiling and the mutant dies as a compile error instead of
+ // being exercised (issue #115). A match has no condition to replace. Writing the guard
+ // as `if … then index.nn` fixes the mutant too, but the guard already narrows `index`,
+ // so the compiler reports E216 "Unnecessary .nn" and `-Werror` rejects it.
+ val here: JMap[String, Integer] = index match
+ case null => normalisedNameIndex(record)
+ case m => m
val hit = here.get(normalisedName(n))
// A key present with `Ambiguous` is the same verdict the scan produced on its SECOND
// hit: more than one schema field normalises to this name, so the signal is no signal.
@@ -646,7 +655,11 @@ private[avro] object AvroWalk:
val resolved: Integer | Null =
if exact != null then Integer.valueOf(exact.pos)
else
- val here = if index != null then index else normalisedNameIndex(record)
+ // Same explicit-nulls / stryker `ConditionalExpression` hazard as in [[totalNominalIndex]]:
+ // a `match` keeps the null-narrowing unmutatable and the non-null type explicit.
+ val here: JMap[String, Integer] = index match
+ case null => normalisedNameIndex(record)
+ case m => m
here.get(normalisedName(n))
resolved match
case null =>
diff --git a/build.sbt b/build.sbt
index 4e104af5..cbf57a80 100644
--- a/build.sbt
+++ b/build.sbt
@@ -248,7 +248,7 @@ ThisBuild / githubWorkflowJobSetup ~= { steps =>
case s: WorkflowStep.Use if s.id.exists(_.startsWith("setup-java-")) =>
val javaId = s.id.get.stripPrefix("setup-java-")
val cacheStep = WorkflowStep.Use(
- UseRef.Public("actions", "cache", "v4"),
+ UseRef.Public("actions", "cache", "v6"),
params = Map(
"path" -> Seq(
"~/.cache/coursier",
@@ -356,7 +356,7 @@ lazy val scalacheck = ScalaCheckOrg %% "scalacheck" % "1.20.0"
lazy val monocle = Optics %% "monocle-core" % "3.3.0"
// droste — the recursion-scheme baseline for the schemes benchmarks (pattern
// functor + Fix encoding). Benchmark-only; never a published dependency.
-lazy val drosteCore = "io.higherkindness" %% "droste-core" % "0.9.0-M3"
+lazy val drosteCore = "io.higherkindness" %% "droste-core" % "0.10.0"
// kindlings 0.3.x (all three) ship a configurable macro-expansion timeout
// (`DerivationTimeout`, default 5s) and pull hearth 0.4.2 + kindlings-derivation-commons.
// We raise it to 30s via `-Xmacro-settings:{circe,cats,avro}Derivation.timeout=30s`
@@ -1176,10 +1176,10 @@ addCommandAlias(
)
// Mutation testing across the published modules (tests/benchmarks/docs
-// aren't published). Uses the `project ; stryker` form, NOT
-// `/stryker`: see the plugins.sbt note — the module-scoped task reads
-// `loadedTestFrameworks` from the empty root project and marks every
-// mutant NoCoverage.
+// aren't published). Uses the `project ; stryker` form — the alias
+// switches projects anyway, and the borrowed-tests `set` lines below are
+// expressed against those switches. (The `/stryker` form works too
+// since 0.20.4; see the plugins.sbt note.)
//
// The `set` lines borrow the `tests` module's compiled suite into core's
// and laws' Test scopes so their mutants get killed by the behavioural
diff --git a/core/src/main/scala/dev/constructive/eo/data/Glass.scala b/core/src/main/scala/dev/constructive/eo/data/Glass.scala
new file mode 100644
index 00000000..21a7d61f
--- /dev/null
+++ b/core/src/main/scala/dev/constructive/eo/data/Glass.scala
@@ -0,0 +1,109 @@
+package dev.constructive.eo
+package data
+
+import cats.Representable
+
+/** Standalone prototype of a fixed-index, context-carrying optic. It deliberately does not use
+ * `Optic`, `MultiFocus`, or `AssociativeFunctor`.
+ *
+ * A lawful monomorphic glass is an isomorphism `S <-> (Context, I => A)`: rebuilding a split
+ * recovers the source, and splitting a rebuild recovers the context and the supplied tabulation
+ * pointwise, including tabulations not obtained from a split. Polymorphic glasses require the
+ * corresponding target-side decomposition to state the second law. Context equality, like function
+ * equality, is observational; it need not be Scala `==`.
+ *
+ * Implementations and tabulations must be pure. Composition derives inner contexts lazily at each
+ * outer index, with no enumeration, coordinate comparison, sampling, or memoization. An empty
+ * index is therefore valid. The laws are obligations on constructors, not enforced by this trait's
+ * types.
+ */
+trait IndexedGlass[S, T, A, B, I]:
+ outer =>
+
+ type Context
+
+ def split(s: S): (Context, I => A)
+
+ def rebuild(context: Context, values: I => B): T
+
+ /** Read one coordinate. This is not a single-coordinate setter: arbitrary indexes do not come
+ * with a notion of coordinate equality.
+ */
+ def at(i: I): S => A = s => split(s)._2(i)
+
+ /** Rewrite every coordinate, preserving the context returned by this source's split. */
+ def modify(f: (I, A) => B): S => T = s =>
+ val (context, values) = split(s)
+ rebuild(context, i => f(i, values(i)))
+
+ /** Broadcast to the whole index space, including every coordinate of a composed grid. */
+ def replace(value: B): S => T = s =>
+ val (context, _) = split(s)
+ rebuild(context, _ => value)
+
+ /** Full-grid composition. Index and context reassociation, rather than literal type equality,
+ * relate the two groupings of a three-level composition. Unit axes are not normalized away.
+ *
+ * Round-trip proof for lawful monomorphic components: write `outer.split(s) = (x, a)` and
+ * `inner.split(a(i)) = (y(i), c(i))`. Rebuilding the split gives
+ * `outer.rebuild(x, i => inner.rebuild(y(i), c(i))) = outer.rebuild(x, a) = s`. Conversely, for
+ * ANY `(x, y)` and grid `w`, rebuilding uses rows `b(i) = inner.rebuild(y(i), j => w((i, j)))`.
+ * The outer law recovers `(x, b)`; the inner law recovers `(y(i), j => w((i, j)))` at every `i`,
+ * so the composite recovers `((x, y), w)`. No context obtained from an earlier grid is cached.
+ * Both three-level groupings rebuild as
+ * `outer.rebuild(x, i => middle.rebuild(y(i), j => inner.rebuild(z(i,j), k => w(i,j,k))))`;
+ * their splits recover the same three contexts and focus pointwise after reassociation. The same
+ * argument applies to paired source/target algebras for polymorphic composition.
+ */
+ def andThen[C, D, J](
+ inner: IndexedGlass[A, B, C, D, J]
+ ): IndexedGlass.Aux[S, T, C, D, (I, J), (outer.Context, I => inner.Context)] =
+ new IndexedGlass[S, T, C, D, (I, J)]:
+ type Context = (outer.Context, I => inner.Context)
+
+ def split(s: S): (Context, ((I, J)) => C) =
+ val (context, values) = outer.split(s)
+ val rows: I => (inner.Context, J => C) = i => inner.split(values(i))
+ ((context, i => rows(i)._1), ij => rows(ij._1)._2(ij._2))
+
+ def rebuild(context: Context, values: ((I, J)) => D): T =
+ outer.rebuild(context._1, i => inner.rebuild(context._2(i), j => values((i, j))))
+
+object IndexedGlass:
+
+ type Aux[S, T, A, B, I, X] = IndexedGlass[S, T, A, B, I] { type Context = X }
+
+ /** The context-free specialization. Generic `andThen` retains its product context even when both
+ * inputs have Unit context; no context-erasing coercion is installed in this prototype.
+ * Context-sensitive collection/zip operations are deliberately absent from the general API.
+ */
+ type Grate[S, T, A, B, I] = Aux[S, T, A, B, I, Unit]
+
+ /** User-written split/rebuild algebra. The caller is responsible for the laws above. */
+ def apply[S, T, A, B, I, X](decompose: S => (X, I => A))(
+ assemble: (X, I => B) => T,
+ ): Aux[S, T, A, B, I, X] =
+ new IndexedGlass[S, T, A, B, I]:
+ type Context = X
+ def split(s: S): (X, I => A) = decompose(s)
+ def rebuild(context: X, values: I => B): T = assemble(context, values)
+
+ /** A cats Representable supplies precisely the two inverse tabulation operations needed here.
+ * Passed explicitly so its path-dependent Representation is retained without another given.
+ */
+ def representable[F[_], A, B](r: Representable[F]): Grate[F[A], F[B], A, B, r.Representation] =
+ IndexedGlass[F[A], F[B], A, B, r.Representation, Unit](s => ((), r.index(s)))((_, values) =>
+ r.tabulate(values),
+ )
+
+ /** An Iso has one coordinate, not a broadcast over an arbitrary (possibly empty) index. The
+ * functions must be inverse in the monomorphic case, or have matching target-side inverses in
+ * the polymorphic case.
+ */
+ def iso[S, T, A, B](forward: S => A)(backward: B => T): Grate[S, T, A, B, Unit] =
+ IndexedGlass[S, T, A, B, Unit, Unit](s => ((), _ => forward(s)))((_, values) =>
+ backward(values(())),
+ )
+
+ /** Identity algebra on a single Unit coordinate, including type-changing writes. */
+ def unit[A, B]: Grate[A, B, A, B, Unit] = iso[A, B, A, B](identity)(identity)
diff --git a/core/src/main/scala/dev/constructive/eo/data/MultiFocus.scala b/core/src/main/scala/dev/constructive/eo/data/MultiFocus.scala
index 0302f9bd..1f9b91c5 100644
--- a/core/src/main/scala/dev/constructive/eo/data/MultiFocus.scala
+++ b/core/src/main/scala/dev/constructive/eo/data/MultiFocus.scala
@@ -67,22 +67,20 @@ private[eo] trait MultiFocusSingleton[S, T, A, B, X0]:
ysBuf.unsafeAppend(x)
flatBuf.unsafeAppend(a)
-/** Stand-in for a value of a type that the `Function1` kernel never lets anyone observe. Two call
- * sites need one, and both stand in for an **existential leftover the write path discards** rather
- * than for something anyone could have computed:
+/** Stand-in for a value of a type that the `Function1` kernel never lets anyone observe. The one
+ * call site stands in for an **existential leftover the write path discards**:
*
* - the **inner optic's leftover** in `mfAssocFunction1` — the kernel threads the OUTER's
* leftover through `Z`, so the inner's has no producer on the write path; every shipped
* `MultiFocus[Function1]` optic ignores its leftover on the write side, which is what makes
* that direction bundle-level.
- * - the **optic's own leftover** in `collectList` — the aggregation builds a fresh singleton
- * `List(b)` and never sees the leftover it discards.
*
- * Neither is an **index**: an index into a broadcast bundle is now a real value, supplied by
+ * It is not an **index**: an index into a broadcast bundle is a real value, supplied by
* [[RepresentativeIndex]] and stored on [[Function1BroadcastOptic]], because that read *is*
* observable and the index has to come from somewhere. What is left here is per-position data
* whose only producer is the read side — an index witness cannot stand in for it, and neither can
- * any single value, since a leftover may differ at every index.
+ * any single value, since a leftover may differ at every index. (`.collectList` does NOT need a
+ * stand-in: it hands `from` the leftover its own read produced — see that extension.)
*
* `inline` is load-bearing: `null.asInstanceOf[Int]` is `0` at a call site with a primitive
* leftover type, while a non-inlined generic method would box and unbox the `null` into an NPE.
@@ -591,21 +589,29 @@ object MultiFocusK:
// picks (see the carrier doc above).
// ------------------------------------------------------------------
- /** Singleton / cartesian aggregation, List-specific — collapses the whole focus list to ONE
- * aggregated element: the result list has length 1 regardless of the focus count.
- * Shape-changing, which is exactly what no `Functor`-based combinator can express; the
+ /** Singleton / cartesian aggregation, List-specific — passes `List(agg(bundle.foci))` to
+ * reconstruction with the context preserved from the read. The supplied focus vector has length
+ * 1 regardless of the original focus count; the reconstructed source need not.
+ *
+ * The generic [[apply]] / [[pApply]] List factories rebuild by identity, so their output is a
+ * singleton. Other reconstructions may retain structure: an empty composite can rebuild `Nil`,
+ * and a Prism miss stays unchanged while a hit rebuilds around the singleton focus vector. The
+ * `S =:= List[A]` / `T =:= List[B]` constraints do not guarantee singleton output.
+ *
+ * This changes the focus vector's shape, which no `Functor`-based combinator can express; the
* length-preserving alternatives are [[collectMap]] / [[collectWith]].
*/
extension [S, T, A, B](o: Optic[S, T, A, B, MultiFocus[List]])
def collectList(agg: List[A] => B)(using ev: S =:= List[A], ev2: T =:= List[B]): S => T =
val _ = (ev, ev2)
- // Cartesian / singleton — T = List[B] preserved via List(b). The leftover is not threaded by
- // this aggregation (the rebuilt optic ignores it); see [[unobserved]].
+ // Cartesian / singleton — T = List[B] preserved via List(b). The collapse replaces the whole
+ // focus vector, so no *new* leftover can be derived for it; the one the read produced is the
+ // right thing to hand back, and it is the only thing that works for an optic whose `from`
+ // reads its own leftover.
(s: S) =>
- val (_, fa) = o.to(s)
- val b: B = agg(fa)
- o.from((unobserved[o.X], List(b)))
+ val bundle = o.to(s)
+ o.from((bundle.context, List(agg(bundle.foci))))
/** Functor-broadcast aggregation — preserves F-shape via `map(_ => agg(fa))`; every focus
* position receives the aggregate. Works for any `Functor[F]`; for List this is the
diff --git a/core/src/test/scala/dev/constructive/eo/GlassSpec.scala b/core/src/test/scala/dev/constructive/eo/GlassSpec.scala
new file mode 100644
index 00000000..39c924cb
--- /dev/null
+++ b/core/src/test/scala/dev/constructive/eo/GlassSpec.scala
@@ -0,0 +1,303 @@
+package dev.constructive.eo
+
+import scala.compiletime.testing.typeChecks
+
+import cats.instances.function.given
+import cats.{Functor, Representable}
+import org.scalacheck.Cogen
+import org.scalacheck.Prop.forAll
+import org.specs2.ScalaCheck
+import org.specs2.mutable.Specification
+
+import data.IndexedGlass
+
+object GlassFixtures:
+ type Pair[A] = (A, A)
+ type Tagged[A] = (String, Pair[A])
+
+ val pairRepresentation: Representable.Aux[Pair, Boolean] = new Representable[Pair]:
+ type Representation = Boolean
+ def F: Functor[Pair] = new Functor[Pair]:
+ def map[A, B](fa: Pair[A])(f: A => B): Pair[B] = (f(fa._1), f(fa._2))
+ def index[A](fa: Pair[A]): Boolean => A = i => if i then fa._2 else fa._1
+ def tabulate[A](f: Boolean => A): Pair[A] = (f(false), f(true))
+
+ def pair[A, B]: IndexedGlass.Grate[Pair[A], Pair[B], A, B, Boolean] =
+ IndexedGlass.representable[Pair, A, B](pairRepresentation)
+
+ def tagged[A, B]: IndexedGlass.Aux[Tagged[A], Tagged[B], A, B, Boolean, String] =
+ IndexedGlass[Tagged[A], Tagged[B], A, B, Boolean, String](s =>
+ (s._1, pairRepresentation.index(s._2)),
+ )((context, values) => (context, pairRepresentation.tabulate(values)))
+
+ enum Slot:
+ case First, Second, Third
+
+ given Cogen[Slot] = Cogen[Int].contramap(_.ordinal)
+
+ case class Tri[A](a: A, b: A, c: A)
+
+ val permutedRepresentation: Representable.Aux[Tri, Slot] = new Representable[Tri]:
+ type Representation = Slot
+ def F: Functor[Tri] = new Functor[Tri]:
+ def map[A, B](fa: Tri[A])(f: A => B): Tri[B] = Tri(f(fa.a), f(fa.b), f(fa.c))
+ def index[A](fa: Tri[A]): Slot => A =
+ case Slot.First => fa.c
+ case Slot.Second => fa.a
+ case Slot.Third => fa.b
+ def tabulate[A](f: Slot => A): Tri[A] = Tri(f(Slot.Second), f(Slot.Third), f(Slot.First))
+
+/** Executable laws for the standalone prototype. Generated functions are user-written tabulations,
+ * not functions extracted from a split. Function/context equality is checked pointwise; the
+ * Boolean grids and Slot domain are enumerated completely. Infinite/Double domains can only be
+ * probed finitely here and remain an equational proof obligation.
+ */
+class GlassSpec extends Specification with ScalaCheck:
+ import GlassFixtures.*
+
+ private val bits = List(false, true)
+ private val grid = for i <- bits; j <- bits yield (i, j)
+ private val cube = for i <- bits; j <- bits; k <- bits yield (i, j, k)
+
+ private def agrees[I, A](actual: I => A, expected: I => A, indexes: List[I]): Boolean =
+ indexes.forall(i => actual(i) == expected(i))
+
+ "Representable: both round trips on arbitrary tabulations, identity and indexed modification composition" >> {
+ val g = pair[Int, Int]
+ forAll { (a: Int, b: Int, written: Boolean => Int) =>
+ val source = (a, b)
+ val (context, values) = g.split(source)
+ val (newContext, readBack) = g.split(g.rebuild((), written))
+ val first: (Boolean, Int) => Int = (i, n) => if i then n + 3 else n - 1
+ val second: (Boolean, Int) => Int = (i, n) => if i then n * 2 else -n
+ g.rebuild(context, values) == source &&
+ newContext == () && agrees(readBack, written, bits) &&
+ g.modify((_, n) => n)(source) == source &&
+ g.modify(second)(g.modify(first)(source)) ==
+ g.modify((i, n) => second(i, first(i, n)))(source)
+ }
+ }
+
+ "Nested pair composition reads and replaces the full grid, NOT the legacy diagonal" >> {
+ val g = pair[Pair[Int], Pair[Int]].andThen(pair[Int, Int])
+ val source = ((1, 2), (3, 4))
+ val (context, values) = g.split(source)
+ val expectedRead: ((Boolean, Boolean)) => Int = ij =>
+ val row = if ij._1 then source._2 else source._1
+ if ij._2 then row._2 else row._1
+ agrees(values, expectedRead, grid) must beTrue
+ g.rebuild(context, values) must beEqualTo(source)
+ g.modify((_, n) => n)(source) must beEqualTo(source)
+ g.replace(9)(source) must beEqualTo(((9, 9), (9, 9)))
+ g.replace(9)(source) must not(beEqualTo(((9, 2), (3, 9))))
+ g.at((false, true))(source) must beEqualTo(2)
+ g.at((true, false))(source) must beEqualTo(3)
+ g.modify((ij, n) => n + (if ij._1 then 100 else 0) + (if ij._2 then 10 else 0))(
+ source
+ ) must beEqualTo(
+ ((1, 12), (103, 114)),
+ )
+ }
+
+ "Full-grid split after rebuild accepts arbitrary writes rather than only a split's own values" >> {
+ val g = pair[Pair[Int], Pair[Int]].andThen(pair[Int, Int])
+ forAll { (a: Int, b: Int, c: Int, d: Int, written: ((Boolean, Boolean)) => Int) =>
+ val source = ((a, b), (c, d))
+ val (context, values) = g.split(source)
+ val (afterContext, afterValues) = g.split(g.rebuild(context, written))
+ g.rebuild(context, values) == source &&
+ afterContext._1 == context._1 && bits.forall(i => afterContext._2(i) == context._2(i)) &&
+ agrees(afterValues, written, grid) &&
+ g.rebuild(context, written) ==
+ (
+ (written((false, false)), written((false, true))),
+ (written((true, false)), written((true, true)))
+ )
+ }
+ }
+
+ "User-defined contexts survive both round trips, including arbitrary contexts and grids" >> {
+ val g = tagged[Tagged[Int], Tagged[Int]].andThen(tagged[Int, Int])
+ forAll {
+ (outerTag: String, innerTags: Boolean => String, written: ((Boolean, Boolean)) => Int) =>
+ val context: g.Context = (outerTag, innerTags)
+ val expected: Tagged[Tagged[Int]] =
+ (
+ outerTag,
+ (
+ (innerTags(false), (written((false, false)), written((false, true)))),
+ (innerTags(true), (written((true, false)), written((true, true))))
+ )
+ )
+ val built = g.rebuild(context, written)
+ val (afterContext, afterValues) = g.split(built)
+ val (sourceContext, sourceValues) = g.split(expected)
+ built == expected && g.rebuild(sourceContext, sourceValues) == expected &&
+ afterContext._1 == outerTag && agrees(afterContext._2, innerTags, bits) &&
+ agrees(afterValues, written, grid)
+ }
+ }
+
+ "Three-level associativity re-associates indexes AND non-Unit contexts on arbitrary writes" >> {
+ val outer = tagged[Tagged[Tagged[Int]], Tagged[Tagged[Int]]]
+ val middle = tagged[Tagged[Int], Tagged[Int]]
+ val inner = tagged[Int, Int]
+ val left = outer.andThen(middle).andThen(inner)
+ val right = outer.andThen(middle.andThen(inner))
+ forAll {
+ (
+ root: String,
+ rows: Boolean => String,
+ cells: ((Boolean, Boolean)) => String,
+ written: ((Boolean, Boolean, Boolean)) => Int
+ ) =>
+ val leftContext: left.Context = ((root, rows), cells)
+ val rightContext: right.Context = (root, i => (rows(i), j => cells((i, j))))
+ val leftValues: (((Boolean, Boolean), Boolean)) => Int =
+ ijk => written((ijk._1._1, ijk._1._2, ijk._2))
+ val rightValues: ((Boolean, (Boolean, Boolean))) => Int =
+ ijk => written((ijk._1, ijk._2._1, ijk._2._2))
+ val builtLeft = left.rebuild(leftContext, leftValues)
+ val builtRight = right.rebuild(rightContext, rightValues)
+ val (lc, lv) = left.split(builtLeft)
+ val (rc, rv) = right.split(builtRight)
+ builtLeft == builtRight && left.rebuild(lc, lv) == builtLeft &&
+ right.rebuild(rc, rv) == builtRight &&
+ lc._1._1 == root && rc._1 == root &&
+ bits.forall(i => lc._1._2(i) == rows(i) && rc._2(i)._1 == rows(i)) &&
+ grid.forall(ij => lc._2(ij) == cells(ij) && rc._2(ij._1)._2(ij._2) == cells(ij)) &&
+ cube.forall {
+ case (i, j, k) =>
+ lv(((i, j), k)) == written((i, j, k)) && rv((i, (j, k))) == written((i, j, k))
+ } &&
+ left.modify((_, n) => n + 1)(builtLeft) == right.modify((_, n) => n + 1)(builtRight) &&
+ left.replace(9)(builtLeft) == right.replace(9)(builtRight)
+ }
+ }
+
+ "Type-changing intermediate and final writes are full-grid and route/grouping independent" >> {
+ val outer = pair[Pair[Int], Pair[String]]
+ val inner = pair[Int, String]
+ val toStringFocus = IndexedGlass.iso[Int, String, Int, Long](identity)(_.toString)
+ val left = outer.andThen(inner).andThen(toStringFocus)
+ val right = outer.andThen(inner.andThen(toStringFocus))
+ // A non-inline generic helper has no same-focus evidence, and needs none.
+ def compose[S, T, A, B, C, D, I, J](
+ o: IndexedGlass[S, T, A, B, I],
+ in: IndexedGlass[A, B, C, D, J],
+ ) = o.andThen(in)
+ val generic = compose(outer, inner)
+ val source = ((1, 2), (3, 4))
+ val expected = (("11", "12"), ("13", "14"))
+ left.modify((_, n) => n.toLong + 10)(source) must beEqualTo(expected)
+ right.modify((_, n) => n.toLong + 10)(source) must beEqualTo(expected)
+ generic.modify((_, n) => (n + 10).toString)(source) must beEqualTo(expected)
+ // The polymorphic round trip is stated with the matching target-side split.
+ val polymorphic = outer.andThen(inner)
+ val (context, _) = polymorphic.split(source)
+ val written: ((Boolean, Boolean)) => String = ij => s"${ij._1}/${ij._2}"
+ val rebuilt = polymorphic.rebuild(context, written)
+ val target = pair[Pair[String], Pair[String]].andThen(pair[String, String])
+ agrees(target.split(rebuilt)._2, written, grid) must beTrue
+ }
+
+ "Representable keeps a permuted index order, including when nested" >> {
+ val g = IndexedGlass.representable[Tri, Int, Int](permutedRepresentation)
+ val nested = IndexedGlass
+ .representable[Tri, Pair[Int], Pair[Int]](permutedRepresentation)
+ .andThen(pair[Int, Int])
+ forAll { (a: Int, b: Int, c: Int, written: Slot => Int) =>
+ val source = Tri(a, b, c)
+ val (context, values) = g.split(source)
+ val rebuilt = g.rebuild((), written)
+ g.rebuild(context, values) == source &&
+ agrees(g.split(rebuilt)._2, written, Slot.values.toList) &&
+ rebuilt == Tri(written(Slot.Second), written(Slot.Third), written(Slot.First)) &&
+ nested.at((Slot.First, false))(Tri((a, b), (b, c), (c, a))) == c
+ }
+ }
+
+ "Iso and Unit specializations have one coordinate and compose in either direction" >> {
+ val single = IndexedGlass.unit[Int, Int]
+ val iso = IndexedGlass.iso[(String, Int), (String, Int), (Int, String), (Int, String)](s =>
+ (s._2, s._1),
+ )(a => (a._2, a._1))
+ val source = ("kept", 2)
+ val (context, values) = iso.split(source)
+ iso.rebuild(context, values) must beEqualTo(source)
+ val userWrite: Unit => (Int, String) = _ => (9, "new")
+ iso.split(iso.rebuild((), userWrite))._2(()) must beEqualTo(userWrite(()))
+ single.at(())(3) must beEqualTo(3)
+ single.rebuild((), _ => 9) must beEqualTo(9)
+ pair[Int, Int].andThen(single).modify((_, n) => n + 1)((1, 2)) must beEqualTo((2, 3))
+ IndexedGlass
+ .unit[Pair[Int], Pair[Int]]
+ .andThen(pair[Int, Int])
+ .modify((_, n) => n + 1)((1, 2)) must beEqualTo((2, 3))
+ typeChecks("""
+ import dev.constructive.eo.data.IndexedGlass
+ val g: IndexedGlass.Grate[Int, String, Int, String, Unit] = IndexedGlass.unit[Int, String]
+ val result: String = g.replace("ok")(1)
+ """) must beTrue
+ }
+
+ "Empty and singleton index spaces require no inhabitant or representative witness" >> {
+ type Empty[A] = Nothing => A
+ type Single[A] = Unit => A
+ val empty = IndexedGlass.representable[Empty, Int, Int](summon[Representable[Empty]])
+ val single = IndexedGlass.representable[Single, Int, Int](summon[Representable[Single]])
+ val source: Empty[Int] = identity[Nothing]
+ val written: Empty[Int] = identity[Nothing]
+ val (context, values) = empty.split(source)
+ // All functions from Nothing are extensionally equal: there is no coordinate to probe.
+ val recovered: Empty[Int] = empty.rebuild(context, values)
+ val rewritten: Empty[Int] = empty.replace(9)(recovered)
+ val splitAgain = empty.split(empty.rebuild((), written))
+ splitAgain._1 must beEqualTo(())
+ val emptyInner = pair[Empty[Int], Empty[Int]].andThen(empty)
+ val emptyOuter = IndexedGlass
+ .representable[Empty, Pair[Int], Pair[Int]](summon[Representable[Empty]])
+ .andThen(pair[Int, Int])
+ emptyInner.split(emptyInner.replace(9)((source, rewritten)))._1._1 must beEqualTo(())
+ emptyOuter.split(emptyOuter.modify((_, n) => n)(identity[Nothing]))._1._1 must beEqualTo(())
+ val fn: Unit => Int = _ => 42
+ val (sc, sv) = single.split(fn)
+ single.rebuild(sc, sv)(()) must beEqualTo(42)
+ single.split(single.rebuild((), _ => 9))._2(()) must beEqualTo(9)
+ single.andThen(IndexedGlass.unit[Int, Int]).at(((), ()))(fn) must beEqualTo(42)
+ }
+
+ "Double indexes preserve NaN and signed-zero observations with no coordinate-equality machinery" >> {
+ type Doubles[A] = Double => A
+ val g = IndexedGlass.representable[Doubles, Int, Int](summon[Representable[Doubles]])
+ val nested = IndexedGlass
+ .representable[Doubles, Doubles[Int], Doubles[Int]](
+ summon[Representable[Doubles]],
+ )
+ .andThen(g)
+ val probes = List(Double.NaN, -0.0, 0.0, 1.0, Double.PositiveInfinity)
+ // Bit observations belong to this USER function, not the optic or its addressing protocol.
+ val classify: Double => Int = d =>
+ if d.isNaN then 7
+ else if java.lang.Double.doubleToRawLongBits(d) == Long.MinValue then 11
+ else if d == 0.0 then 13
+ else 17
+ val source: Double => Int = classify
+ val (context, values) = g.split(source)
+ agrees(g.rebuild(context, values), source, probes) must beTrue
+ agrees(g.split(g.rebuild((), classify))._2, classify, probes) must beTrue
+ val full: ((Double, Double)) => Int = ij => 100 * classify(ij._1) + classify(ij._2)
+ val fn: Double => Double => Int = i => j => full((i, j))
+ val (nc, nv) = nested.split(fn)
+ val rewritten = nested.rebuild(nc, full)
+ probes.forall(i =>
+ probes.forall(j =>
+ nv((i, j)) == full((i, j)) && rewritten(i)(j) == full((i, j)) &&
+ nested.modify((_, n) => n)(fn)(i)(j) == fn(i)(j) &&
+ nested.replace(9)(fn)(i)(j) == 9,
+ )
+ ) must beTrue
+ nested.at((-0.0, 0.0))(fn) must beEqualTo(1113)
+ nested.at((0.0, -0.0))(fn) must beEqualTo(1311)
+ nested.at((Double.NaN, Double.NaN))(fn) must beEqualTo(707)
+ }
diff --git a/docs/research/2026-09-30-grate-broadcast-constancy.md b/docs/research/2026-09-30-grate-broadcast-constancy.md
new file mode 100644
index 00000000..63149953
--- /dev/null
+++ b/docs/research/2026-09-30-grate-broadcast-constancy.md
@@ -0,0 +1,456 @@
+# Grate constancy: index-free vs tabulating bundles — spike
+
+> [!IMPORTANT]
+> **SUPERSEDED** (2026-10-05). The sum-typed-bundle + `Optic.SameFocus` design described here
+> does not land: a second review round showed the witness makes behaviour route-dependent (a
+> non-inline generic helper or `dimap` wrapper loses the `C =:= D` evidence) and that the
+> diagonal restore addresses positions with `==`, which is not a coordinate identity for `Double`
+> (a write at `NaN` is silently dropped; signed zeros collide). All four root problems —
+> diagonal read, erased evidence, observable grouping, index equality — trace to the carrier
+> sharing one index type between nested optics, and none is fixable inside it. The decision and
+> the replacement design (product-indexed `IndexedGlass`, full-grid composition) are in
+> [`2026-10-05-multifocus-redesign.md`](./2026-10-05-multifocus-redesign.md). What survives from
+> this spike is the variable-shape side: the `collectList` real-context fix and the
+> cross-family runtime battery, which shipped without any of the grate machinery.
+
+Branch: `spike/grate-broadcast-sum`, a single commit on `origin/main` @
+52671355 (the commit that landed the *optic-class* answer: `Z = Xo`,
+`Function1BroadcastOptic`, `RepresentativeIndex`, and the positional
+write). This branch adds the *sum-typed bundle* answer on top and keeps
+main's machinery where it is better: the broadcast class stays as the
+kernel's per-index write hook and the bridge keeps its
+`RepresentativeIndex` witness, so **`unobserved` is gone entirely**: the
+collapsing `List` aggregate hands the write the leftover its own read
+produced, and nothing in the Grate surface forges an index or anything
+else. Prototype + tests + measurements for the constancy question on
+`MultiFocus[Function1[X0, *]]`.
+
+Gates on the rebased tree (sbt 1.13.0, JDK 25 Temurin 25.0.4.1): root
+`test` 237 examples / 0 failures; `core/test` 32 specs, including
+**main's own F1 spec unchanged** (14 examples / 349 expectations — its
+positional `grate ∘ iso`, diagonal-read and witness blocks all pass
+against this branch's kernel) plus this branch's 12 blocks / 903
+expectations; `scalafmtCheckAll`, `scalafixAll --check`,
+`scalafmtSbtCheck`, `benchmarks/scalafmtCheck`, `mimaReportBinaryIssues`,
+`githubWorkflowCheck`, `docs/mdoc` (0 errors), `docs/laikaSite`,
+`core/doc`.
+
+## 1. The question
+
+Two shapes of optic meet on one carrier type, and the type does not say
+which is which:
+
+- a **broadcast** optic holds one focus and reads it at whatever index
+ you like — every optic built by `forgetful2multifocusFunction1` (the
+ Iso shim), and any composite whose outer is one;
+- a **tabulating** optic reads a real position — `MultiFocus.tuple`,
+ `representable` (`representableAt` was retired upstream while this
+ branch was rebased; nothing here depended on it).
+
+`mfAssocFunction1` therefore has to choose a read and a write shape per
+side. Upstream (`52671355`) answered that with an optic-level class plus a
+witness index for the one read that genuinely needs an index, which fixes
+`grate ∘ iso` and the tabulating read. This branch answers the *remaining*
+gap with data: a bundle says whether the value it holds needs an index at
+all. (Before that upstream commit, the kernel sampled the shape, which is
+how the older numbers in §6 were produced: main sampled
+the outer's read at `null.asInstanceOf[X0]` in `composeTo`
+(`kO(null)`) and collapsed every write through `inner.from((null, kD))`
++ `outer.from((null, _ => b))`. Two consequences were observable at a
+composite's boundary (both reproduced as failing tests on main, see
+§4): `tuple.andThen().modify` wrote slot 0's value to every
+slot, and any composite whose *own* outer read positionally sampled
+index 0 instead of the position it was reading.
+
+Two ways to fix it:
+
+| | constancy lives in | visible to | survives a composite |
+|---|---|---|---|
+| optic-class witness (the `fix/grate-positional-composition` baseline) | the optic object, via a `Function1BroadcastOptic` class + a `broadcastFrom` write hook | `composeFrom`'s pattern match | yes — the *function value* carries the shape upward; the class is re-tested per composition level |
+| sum-typed bundle (this branch) | the bundle, as `Broadcast(a, lifted) \| F[A]` | any consumer of the bundle | yes — a composite's read/write shape is recomputed from data, not from a class |
+
+## 2. Design as shipped on this branch
+
+```scala
+private[eo] type Focus[F[_], A] = F[A] | Broadcast[F, A] // the sum
+private[eo] final class Broadcast[F[_], A](val value: A, val lifted: F[A])
+opaque type MultiFocusK[F[_], X, A] = (X, Focus[F, A])
+```
+
+- **The sum hides inside the opaque.** The public shape is unchanged:
+ `MultiFocus(x, fa)` builds a plain half, `to: S => (X, …)`-style
+ impls still build pairs, `.context` is still identity. The two sum
+ cases are `private[eo]`, so user code can neither name them nor hold
+ a `Broadcast` as data — which matters, because the carrier classifies
+ a half by testing for that class (a user focus whose type was
+ `Broadcast`, or `Any` holding one, would otherwise be mis-read).
+- **`.foci: F[A]` stays total** by carrying the lifted `F[A]` in the
+ broadcast case (for `Function1`, the constant `_ => value`). No
+ `Pointed`-shaped constraint, no signature change — that is the whole
+ reason `lifted` exists. Cost: one small object per broadcast bundle.
+ `value` and `lifted` are built from one value by every producer, and
+ `map` keeps them together up to the purity of the mapping function.
+- **`.broadcast: Option[A]` is new** — the observable half of the
+ design. `Some(a)` marks an index-free bundle, `None` a tabulation.
+- **`MultiFocus.broadcast[X0, X, A](x, a)` is new** — the constructor
+ for an index-free bundle, for optics that broadcast without an Iso.
+ Together with `.broadcast` it is the *entire* public surface of the
+ sum.
+- **main's class and witness are kept.** `Function1BroadcastOptic` stays as the kernel's
+ per-index write hook for the broadcast inner (one value per position, no
+ bundle read it did not build), and `forgetful2multifocusFunction1` still
+ takes a `RepresentativeIndex[X0]`. The sum and the class answer different
+ questions — the class says *this optic writes one value*, the bundle says
+ *this value is index-free* — and where they overlap the kernel prefers the
+ bundle (so the index-free shape is what travels upward), falling back to
+ the class hook inside the tabulating branch, where it needs no per-position
+ read.
+- **`mfAssocFunction1`** branches on the bundle:
+ - read: index-free outer → one `inner.to(value)` call (the composite
+ inherits the inner's half); tabulating outer → `i =>
+ inner.to(readAt(outer, i))` read at `i`.
+ - write: `Z = AssocF1Z[X0, Xo, Xi](xo, innerPlan)` where `innerPlan`
+ is `Left(xi)` for an index-free read and `Right(innerReads)` for a
+ tabulating one — *the inner reads the read actually observed* (per
+ index: leftover, read bundle, shape). `composeFrom` replays them:
+ one collapsed `inner.from((xi, bundle))` handed back as a
+ `Broadcast` half when the read was index-free, or one
+ `inner.from((xiAt(i), Broadcast(writeAt(i))))` per position when it
+ was tabulating.
+ Recording the observed leftovers is load-bearing, not bookkeeping:
+ composition is associative, so a composite is itself an inner whose
+ `from` reads its own `AssocF1Z` back — supplying anything else (the
+ pre-sum kernel supplied `unobserved[Xi]`) is an NPE on entirely
+ shipped factories, `iso.andThen(iso.andThen(iso)).modify(_ + 1)`.
+ `mfAssoc` and `mfAssocPSVec` record per-element inner leftovers for
+ the same reason.
+ - **tabulating ∘ tabulating, stable focus** — the composite reads one
+ position per index (the shared index set makes the two sides advance
+ together), so its read is not a bijection: each inner structure's
+ off-diagonal is not in the composite's focus vector, and the plain
+ bundle-only write cannot put it back (there is no `C => D`).
+ the stability fact is a property of the *optic*, so it rides on the
+ optic: `Optic.SameFocus` (`sameFocus: Option[C =:= D]`) is mixed into
+ every `andThen` composite from that call site's `C =:= D`
+ (`summonFrom`) and into the monomorphic factories
+ (`representable` / `tuple` / `apply`) with `Some(…)` directly. The
+ kernel reads it off the `inner` it is already handed and writes the
+ *exact inverse* of its diagonal read — every position keeps what it
+ was read at, and only the addressed position takes the new value. For
+ a type-changing write (`C =/= D`) it is `None`, the kernel keeps the
+ documented per-position value write, and that boundary is pinned by a
+ test. An earlier cut put this on the composition algebra
+ (`AssociativeFunctor.composeFromSameFocus`, with the hint threaded
+ through `Optic.andThen`); review pointed out that one carrier's fact
+ does not belong in every carrier's contract, and the optic-level
+ witness is also the idiom upstream established with
+ `Function1BroadcastOptic`.
+- **No stand-in values at all.** Every write is handed what its own read produced: the kernel
+ records the inner leftovers it observed (`AssocF1Z.innerPlan`), the bridge takes a
+ `RepresentativeIndex`, and the collapsing `List` aggregate passes the read's own leftover
+ (`o.from((bundle.context, List(agg(bundle.foci))))`). The `unobserved[A] = null.asInstanceOf[A]`
+ helper is deleted — its three historical sites (the inner's leftover, the bridge's index, the
+ aggregate's leftover) are all fixed at the source rather than patched at the call site.
+
+## 3. What is left over `52671355` (the residual)
+
+Upstream already fixed the positional read (`kO(i)` per index), the
+per-index write for the broadcast class, the outer-leftover threading and
+the forged index. What this branch still adds, each with a probe or a
+green test above:
+
+1. **Tabulating ∘ tabulating is lawful.** `tuple ∘ tuple` reads one
+ position per index, so its read is a diagonal; upstream writes one
+ collapsed row for it (`modify(identity)` → `((1,4),(1,4))`),
+ `replace(9)` → `((9,9),(9,9))`). Here the write is the exact inverse of
+ the read whenever the inner optic carries `Optic.SameFocus` (every
+ monomorphic factory and every `andThen` composite whose focus types
+ coincide do), so `modify(identity)` is the identity,
+ `modify(h) ∘ modify(f) == modify(f andThen h)`, and `replace(v)` touches
+ only the positions it was given — including when the inner is itself a
+ composite (`tabulating ∘ (tabulating ∘ shim)`).
+2. **Composite inners are written per position.** Upstream's witness is the
+ *class*, and a composite is not one, so `tuple ∘ (shim ∘ shim)` collapses
+ (`modify(_ + 1)` on `(1,2)` → `(2,2)`); here it is `(2,3)`. The bundle
+ says what the class cannot.
+3. **The inner's leftover is real, not forged.** Upstream threads only the
+ outer's (`Z = Xo`) and still hands the inner `unobserved[Xi]`, so an inner
+ whose write reads its leftover — `fromLensF` with a shipped `Lens` — dies
+ with an NPE. Here the read records every leftover it produced and the
+ write replays it.
+4. **Constancy is inspectable.** `.broadcast` is a public, typed answer to
+ "does this bundle need an index?" — the API main does not have — and a
+ broadcast optic's bundle is index-free by construction, so the index-free
+ shape travels upward through `map` / `collectWith` / `andThen`.
+5. **Upstream machinery is kept, not replaced.** The class stays as the
+ kernel's per-index hook (the cheapest path for the shim inner), the bridge
+ keeps its witness, and `unobserved` drops from three sites (upstream's
+ kernel leftover, upstream's aggregate leftover, the bridge's forged
+ index) to **none**.
+
+What it does **not** add: anything main already covers. The positional
+read/write, `Z` threading, the witness and its refusal semantics, the QA
+table, `GrateShapeSpec` and upstream's own test blocks are inherited
+unchanged — upstream's F1 spec passes verbatim against this kernel.
+
+## 4. Evidence
+
+`core/src/test/scala/dev/constructive/eo/MultiFocusFunction1CompositionSpec.scala`
+(12 blocks, 903 expectations) plus
+`core/src/test/scala/external/EoOpaqueSurfaceSpec.scala` (the public
+surface seen from *outside* the `eo` package tree — it pins that the
+internal sum neither leaks nor breaks inlining at a downstream call
+site). Two of the composition blocks fail on `main`, pass here — runs on
+main: `2 failures / 4 examples`; here: `12 examples, 0 failure`.
+
+| block | `52671355` (fresh probe) | here |
+|---|---|---|
+| `tuple.andThen()`: per-position write survives | ✗ (`modify(identity)` → `(l, l)`) | ✓ |
+| `.andThen(MultiFocus.tuple)`: tabulated read + single-value write | ✓ | ✓ |
+| `( ∘ representable).andThen()`: stays positional | ✗ (samples one index) | ✓ |
+| bundle shape: `.broadcast` / `.foci` / chain | n/a (no surface) | ✓ |
+| ` ∘ ( ∘ )`: right-associated chain | ✗ (NPE, see §6) | ✓ |
+| ` ∘ ( ∘ )`: leftovers survive | ✗ | ✓ |
+| `fromLensF` inner: the lens's leftover survives the write | ✗ (null component / NPE) | ✓ |
+| `tuple ∘ ( ∘ )`: per-position write through a composite | ✗ | ✓ |
+| `tuple ∘ tuple`: diagonal read, in-place write (MF1 / MF2 / replace / `at`) | ✗ (`modify(identity)` → `((1,4),(1,4))`) | ✓ |
+| associativity across shim / tabulating mixes | ✓ (all-shim chain) | ✓ |
+| tabulating ∘ composite-inner (`tuple ∘ (shim ∘ shim)`) | ✗ (`modify(_+1)` on `(1,2)` → `(2,2)`) | ✓ (`(2,3)`) |
+| `fromLensF` inner (its write reads its leftover) | ✗ **NPE** (`GetReplaceLens.from` dereferences the forged `null`) | ✓ |
+| type-changing write through a tabulating composite (documented fallback) | n/a | ✓ |
+| `collectList` on a Lens / Prism / Optional-provenanced optic | ✗ NPE / `MatchError` | ✓ |
+| positional factories: bare modify / replace / at / collect | ✓ | ✓ |
+
+The `collectList` row is a real bug, not a smell: probing a lawful Lens
+whose write reads its leftover (`s.isEmpty`) under the shipped `fromLensF`
+threw `NullPointerException` in `GetReplaceLens.from`; the Prism and
+Optional provenances threw `MatchError: null` (their writes pattern-match
+the leftover). Those three now pass, pinned by the new runtime sweep
+`tests/.../MultiFocusCrossFamilySpec.scala` — nine property blocks covering
+every inbound provenance through `modify` / `replace` / `collectMap` /
+`collectWith` / `collectList` / `foldMap` / `headOption` / `length`, plus
+both composition directions across Iso / Lens / Prism / Optional with
+independently computed expectations.
+
+The three ✗ rows were re-probed on `52671355` with a throwaway spec that
+prints instead of asserting (removed before the rebase): `tuple ∘ tuple`
+still collapses to one row (`.replace(9)` → `((9,9),(9,9))`), the
+composite-inner case still takes the collapse branch because a composite is
+not the broadcast *class*, and the `fromLensF` inner still receives a
+forged leftover and dies. That is the honest boundary of the upstream
+answer: its class witness cannot describe a composite inner, and its
+`Z = Xo` threads only the outer's leftover.
+
+
+Whole-suite gates on this branch: `core/test` 14 specs green,
+root `test` 237 examples / 0 failures, `docs/mdoc` 0 errors (the new
+snippets compile from outside `core`, which also pins that `.broadcast`
+/ `MultiFocus.broadcast` are usable without the opaque's internals).
+
+### Measured cost — no defensible number on this host
+
+The `.foci` shape test, the `Broadcast` wrapper and the `andThen` witness
+argument all cost something, and this note will not pretend to have
+measured it. JMH runs from this environment put the *untouched Monocle
+control* — `PowerSeriesNestedBench.monocle_nested`, a different library
+that neither change touches — between **-30% and +19%** across
+back-to-back runs on the same commit, and the F1 microbenches swing ±12%
+run to run. With that noise floor nothing about a few-percent delta is
+attributable, and the repo's own benchmark doctrine (quiet machine,
+`@Fork(3)`+, `B/op` gates) is not satisfiable here. Two structural
+statements stand instead, both reviewable by reading the code:
+
+- the shape test only ever runs on a *tabulating* bundle whose value is not
+ a `Broadcast` (the index-free case returns the stored lift), so it is a
+ predictable never-taken branch on the container carriers;
+- the extra inner read is confined to the tabulating branch and skipped
+ entirely for the broadcast class (the hook path).
+
+Numbers for the record, same session, `-f 3`: `eoModify_multiFocusTuple3`
+≈ 20–22 ns/op and `Tuple6` ≈ 32–40 ns/op on either tree; the shared
+harness's variance band is wider than any difference between them.
+
+## 5. Cost and risk
+
+- **Binary compatibility: the descriptors do *not* change; the inlined
+ bodies do.** `MultiFocusK` still erases to `Tuple2` — the union is the
+ second type argument, whose erased type was already `Object`
+ (`F[A]` on an abstract `F`). What breaks is (a) code compiled against
+ 0.18 that inlined `.foci` / `.context` / `apply`: those bodies extract
+ `Tuple2._2` and cast it to `F[A]`, and a newly produced broadcast
+ bundle puts a `Broadcast` there instead, so the cast fails; (b) any
+ client that named the F1 kernel's context refinement
+ (`mfAssocFunction1.Z = Unit` on main, now `AssocF1Z[…]`). Source
+ compatibility holds for normal callers: the module call sites in
+ `avro` / `circe` / `jsoniter` / `zio` / `kyo` needed no respelling —
+ only `MultiFocus.scala` itself did (see the next point). MiMa is
+ disabled on the 0.x line (`mima.sbt`) and every minor so far has been a
+ deliberate breaking release, so this is a CHANGELOG line, not a
+ blocker.
+- **It edits fresh upstream code.** The kernel, the broadcast class's `to`
+ and the bridge are all from `52671355`; landing this means rewriting the
+ kernel's write path (three cases instead of two) and re-reviewing the
+ class against the sum. That review cost is the price of the four items in
+ §3, and it is the strongest argument for harvesting 1–3 as a small kernel
+ delta instead (see §7).
+- **The extra inner read is now conditional.** The diagonal write re-reads the
+ inner per written position *unless* the inner is the broadcast class (the hook
+ path) — so the shim pays nothing, and only a tabulating or composite inner
+ pays it.
+- **Threading the read's leftover has one boundary: a *composite*.** An
+ optic whose context records per-focus structure (`MultiFocus.apply[List, Int].andThen(lens)`
+ has `Z = (Xo, F[(Xi, Int)])`) cannot honour a write whose vector has a
+ different cardinality than the read's, and `collectList` is exactly that
+ write: on the empty input it rebuilds `Nil` rather than `List(0)`, and on
+ a longer read it would index past the collapsed vector. The old forged
+ `null` failed loudly (NPE) where this now fails quietly-or-loudly
+ depending on shape, so `collectList` is asserted only for
+ count-agnostic provenances (generic factory, Iso/Lens/Prism/Optional
+ bridges) and the composite boundary is *named* in
+ `MultiFocusCrossFamilySpec` rather than pinned. A witness on the optic
+ (`Optic.SameFocus`-style) is the way to turn it into a compile error.
+- **Churn, not just additions.** The compiler forces every
+ `new Optic[…, MultiFocus[F]]:` impl in `MultiFocus.scala` to spell its
+ `to` / `from` in the carrier type (a narrower *parameter* type is
+ illegal on an override), so ~20 signatures were respelled and their
+ bodies now consume `.context` / `.foci`. That is most of the diff size
+ and it is mechanical — but it is the kind of diff that hides a
+ transcription error, so the root suite (not only the F1 spec) is the
+ gate that matters here.
+- **A tabulating outer re-reads the inner per written position.**
+ `composeFrom`'s per-position branch calls `inner.to(outerRead(i))`
+ again to recover that position's leftover, because `AssocF1Z` cannot
+ hold the method-typed read bundle. Pure optics make that equivalent,
+ but it is one extra inner read per written position that main did not
+ pay (main paid one read in total — and got the wrong answer).
+- **One new object per broadcast read**, and one `instanceof` per
+ `.foci` read on every carrier. The `.foci` branch is what makes the
+ sum invisible to existing consumers; it cannot be removed without
+ giving `.foci` a `Pointed`-shaped constraint.
+- **One new public name pair**: `MultiFocus.broadcast` / `.broadcast`.
+ The sum's cases (`Focus`, `Broadcast`) are `private[eo]` on purpose:
+ the carrier classifies a half by testing for that class, so user code
+ must not be able to hold one as data, and the public story is the
+ accessor rather than the representation. (An earlier cut had them
+ public; a `ClassCastException` / silent mis-read was reachable from
+ plain `MultiFocus[cats.Id, Unit, Broadcast[List, Int]]((), value)`.)
+ inline bodies and downstream optic authors both need them.
+- **`.broadcast` allocates an `Option`**; the kernels use the raw half
+ instead, so only explicit user calls pay it.
+- **A type-changing write through a tabulating ∘ tabulating composite is
+ still under-determined** — the one lossy boundary left. The composite
+ reads one position per index (the shared index set cannot address
+ `(outer position, inner position)` pairs), so with `C =:= D` the
+ kernel writes the exact inverse of that read, but with `C =/= D` there
+ is no `C => D` to put the unread positions back and it falls back to
+ the per-position value write (pinned by the "documented lossy
+ fallback" block). `modify` / `replace` / `set` are all on the exact
+ side, because their focus type is stable; a hand-written polymorphic
+ inner is what takes the fallback path. The stable-focus write re-reads
+ the inner once per written position (it must recompute the read it is
+ inverting — the plan holds the outer's read function, not the read
+ bundles), so a `.modify` through a tabulating composite costs one extra
+ inner read per position versus the lossy path.
+
+## 6. What review found (and what it changed)
+
+An independent pass over the first cut of this branch found four things
+worth recording, all addressed here:
+
+1. **A blocking NPE on entirely shipped factories.** The first cut kept
+ `Z`'s shape witness but still handed the inner an invented leftover,
+ so `iso.andThen(iso.andThen(iso)).modify(_ + 1)` — an inner that is
+ itself a composite — read a null context. Fixed by recording the
+ *observed* inner leftovers (§2); both new right-associated blocks pin
+ it.
+2. **`fromLensF` as an inner is reachable, and was wrong.** Its write
+ reads its leftover back, so the invented one dropped the carried
+ component (or NPE'd). Reachable with shipped `Lens` + `fromLensF`
+ under a shipped Iso shim, on main as well as on the first cut. Fixed
+ by the same leftover threading; pinned by its own block.
+3. **`tuple ∘ tuple` was unlawful, and its test composed nothing.** The
+ read is a diagonal, so the write could not invert it from the bundle
+ alone. Fixed here by the same-focus entry point (§2), which is exact
+ whenever the focus type is stable; the mislabelled test block now
+ names what it does and the real composition is pinned by the new
+ spec.
+4. **The untagged union could misclassify ordinary payloads.** With the
+ sum's cases public, `MultiFocus[cats.Id, Unit, Broadcast[List, Int]]((), value)`
+ made the carrier test a user value for its own internal class (CCE
+ with a `Broadcast`-typed focus, silent wrong answer with `A = Any`).
+ Fixed by making the cases `private[eo]`; the public surface is
+ `.broadcast` + `MultiFocus.broadcast`.
+5. **Two claims were wrong** and are corrected above: the erasure
+ explanation (descriptors are `Tuple2` either way) and the vacuous
+ `MultiFocus.tuple.andThen(MultiFocus.tuple)` test block, which never
+ composed anything — it now names what it does, and the real
+ composition is pinned in the new spec.
+
+Left as documented behaviour rather than fixed: the shim's `from`
+stand-in for a hand-rebuilt tabulating bundle (§2), and the type-changing
+write through a tabulating ∘ tabulating composite (§5).
+
+## 7. Cheaper variants of the same idea
+
+- **Subtype sum, no representation change**: keep
+ `(X, F[A])` and make the broadcast case a `Function1` subclass
+ (`class Broadcast[X0, A](val value: A) extends (X0 => A)`, detected by
+ a marker trait). Zero cost for other carriers, no erasure change, no
+ churn — but the sum is a runtime class tag rather than a type, and the
+ marker has to be re-established by every transform (`map` / `collect`
+ helpers) or constancy silently dies on the way through.
+- **Optic-class witness**: an `indexFree` class plus a `broadcastFrom`
+ write hook on the optic — **shipped upstream as `52671355`**. No carrier
+ change, no `.foci` branch, no extra allocation; the shape is a property of
+ the optic, so it is re-tested per composition level and the kernel needs no
+ context bit. Its gap is exactly §3's items 1–3: a class cannot describe a
+ composite, and one threaded leftover is not all of them.
+- **Harvest items 1–3 into that kernel** (the recommended cheap path, not
+ prototyped here): keep `Z = Xo`, add a per-index leftover record the read
+ fills in, and read the `Optic.SameFocus` witness off the inner (both facts
+ are already on the optic, and `andThen`'s one-line mixin is carrier-agnostic).
+ That is a kernel-local change — no carrier change, no respelling, no
+ `.foci` branch, no erasure break, roughly 50–60 lines — and it buys the
+ three ✗ rows of §4 without the sum's costs.
+
+## 8. Recommendation
+
+**Harvest §3's first three items; take the sum only if `.broadcast` is
+wanted as public API.**
+
+The runtime rules this branch lands are not really a property of the
+sum — any path that knows the shape at the kernel needs them:
+
+1. a composition's write shape follows the shape its *read* took,
+ recorded in the composite's context;
+2. `composeFrom` must be handed the inner leftovers the read observed —
+ composition is associative, so an inner that is itself a composite
+ reads its own context back. This branch had to be fixed for exactly
+ that reason (§6.1), and the same rule applies to any optic-class
+ witness that threads only one side's leftover.
+
+The sum's *specific* value is §3's item 4: constancy is inspectable
+(`.broadcast`) and a composite's shape is derived from data, so it is
+correct by construction rather than re-tested. Choose it if you want that
+surface, and accept in exchange:
+
+- one `instanceof` per `.foci` read on every carrier and one extra object
+ per broadcast read (measured: flat on the PSVec hot path, ~3%
+ noise-adjacent on a 25 ns/op Grate microbench, iso-shim path
+ unbenchmarked);
+- a mechanical ~20-signature respelling inside `MultiFocus.scala`, which
+ is most of the diff;
+- the inlined-body binary hazard and the `AssocF1Z` refinement change;
+- an extra inner read per written position on the tabulating write path.
+
+If instead you want the smallest, least-risky change with the same
+runtime behaviour, the subtype sum (§7) or the optic-class witness keeps
+`(X, F[A])` exactly as it is: no branch on every carrier, no extra
+allocation, a fraction of the diff — at the price of constancy staying an
+internal fact (no `.broadcast`) and, for the subtype sum, of every
+identity-preserving transform having to re-establish the marker.
+
+Either way, the two positional bugs of §4, the leftover-threading rule of
+§6 and the stable-focus write of §2 should land. The one boundary that
+cannot be made lawful — a type-changing write through a tabulating ∘
+tabulating composite — is pinned by a test rather than left implicit.
diff --git a/docs/research/2026-10-05-multifocus-redesign.md b/docs/research/2026-10-05-multifocus-redesign.md
new file mode 100644
index 00000000..f52a9cc7
--- /dev/null
+++ b/docs/research/2026-10-05-multifocus-redesign.md
@@ -0,0 +1,151 @@
+# MultiFocus re-design: consolidate and rebuild the Grate side
+
+Trigger: the #129 review rounds produced a fourth concept (`CoordinateEq`) for the same
+underlying fault — the carrier's types do not express the behaviour the kernel implements.
+The decision (2026-10-05) was to stop patching and research a from-scratch formulation of
+the Grate side. This note consolidates the two research passes (behaviour inventory +
+comparative design) into that decision record.
+
+## 1. What one carrier is actually carrying
+
+`MultiFocus[F]` is two contracts wearing one name:
+
+- **Variable-shape containers** (`List`, `PSVec`, `Option`, …): a flattened focus vector +
+ per-focus counts; composition records leftovers and re-slices. This half is coherent, and
+ #129's observed-context / `collectList` corrections belong to it.
+- **Fixed-index functions** (`Function1[X0, *]`, the Grate side): a `X0 => A` tabulation.
+ Composition can only advance the *shared* index — a **diagonal read**. Every mechanism born
+ on this branch exists to make partial reads support stable writes: `unobserved` (gone),
+ `RepresentativeIndex` (#127), the `Focus` sum + `Function1BroadcastOptic` (#129),
+ `Optic.SameFocus` (#129), `CoordinateEq` (draft). Four witnesses, one fault.
+
+The precise holes (each pinned by a failing probe, each reproduced against #127's
+`52671355`):
+
+| # | Hole | Root cause |
+|---|------|------------|
+| A | `tuple ∘ tuple` reads only the diagonal of a nested grid | one index type; `(outer, inner)` pairs unrepresentable |
+| B | off-diagonal restore needs `C =:= D`, which erasure makes **route-dependent** (non-inline generic helpers, wrappers) | the property is in the data path, not the optic's type |
+| C | grouping observable across a type-changing intermediate | partial restoration at different levels |
+| D | `==` on an arbitrary `X0` is not a coordinate identity (NaN, ±0.0, finer observations) | equality-based slot addressing is not well-defined on `X0 => A` |
+
+None of A–D is fixable inside `Optic[S, T, A, B, MultiFocus[Function1[X0, *]]]`: the type
+`X0 => A` composes only by sharing `X0` or by comparing against it. That is the consolidation
+finding: a rewrite, not another witness.
+
+## 2. The shape that dissolves all four
+
+Give nested composition the **product index**, and give the optic a split/rebuild algebra:
+
+```scala
+trait IndexedGlass[S, T, A, B, I]:
+ type Context
+ def split(s: S): (Context, I => A)
+ def rebuild(context: Context, values: I => B): T
+
+ def andThen[C, D, J](inner: IndexedGlass[A, B, C, D, J]):
+ IndexedGlass[S, T, C, D, (I, J)] {
+ type Context = (this.Context, I => inner.Context)
+ }
+```
+
+```text
+split: focus (i, j) = inner.split(outerRead(i)).focus(j) -- the FULL grid, not a diagonal
+rebuild: outer.rebuild(x, i => inner.rebuild(contexts(i), j => written(i, j)))
+```
+
+- **A gone**: every nested coordinate is read and addressed; nothing off-diagonal needs
+ restoring.
+- **B/C gone**: no equality evidence exists at all, so no route or grouping can change
+ behaviour; polymorphic writes replace the whole grid without `C =:= D`.
+- **D gone**: nothing compares an index to anything; the written grid is consumed at every
+ coordinate.
+
+Honesty items:
+
+- In general this is an **indexed Glass** (context-carrying), not a classical Grate; the
+ Grate `((F[A] => A) => B) => F[B]` is recovered when `Context = Unit`. `zipWith` degrades
+ when the residual context is not Unit — an advisor-confirmed limit.
+- **Semantics change, deliberately**: `tuple ∘ tuple` `replace(9)` goes from diagonal
+ `((9,2),(3,9))` to full-grid `((9,9),(9,9))`, and `modify(identity)` is the identity by
+ construction. A migration must name this, not discover it.
+- Composition cannot ride today's `AssociativeFunctor` (it fixes one carrier); it needs a
+ dedicated method first.
+- Proof obligations: split-after-rebuild on **arbitrary** tabulations (not only ones a
+ `split` produced); associativity up to the coordinate reassociation `(I, J, K)`; no cache
+ of derived context may break the round trip.
+
+## 3. Options considered
+
+| Option | Verdict |
+|--------|---------|
+| **A. Product-index `IndexedGlass` + Unit-context Grate specialization** | **Recommended.** Only candidate that makes behaviour type-expressible with zero new user-facing givens (`Representable` passed explicitly or off the companion as today). |
+| B. Graded path types (`Then[Axis[I], Axis[J]]`) as the optic parameter | Only worth it as an optional static façade over A if index ergonomics demand it; grades alone fix nothing and can be claimed falsely. |
+| C. Split lawful-diagonal vs explicitly-lossy constructors in the current carrier | Compatibility band-aid; diagonal restore still needs coordinate identity (D survives). Not the architecture. |
+| D. A `Tabulate`/bundle value type | Packaging for A, not an alternative; a bare reader comonad needs monoidal indexes we do not have. |
+
+Prior-art notes verified along the way: `Rep(Compose F G) = (Rep F, Rep G)` while
+`Rep(Product F G) = Either` — nested means tuple, side-by-side means sum; a reader has a
+canonical monad, and the comonad needs `Monoid (Rep f)`. Monocle attribution is **unresolved**:
+no shipped `Grate.scala` was found in `optics-dev/Monocle` (path 404s; web search was
+unavailable in this environment), so do not cite it for the L1/L2 law names in docs.
+
+## 4. Compatibility budget
+
+Searched every module for `MultiFocus` / grate usage:
+
+- `.broadcast` and `RepresentativeIndex`: **zero** downstream consumers — the #127/#129
+ surface was never load-bearing outside core/tests.
+- Production grate consumption lives in core, `tests/`, `benchmarks/`.
+- `jsoniter`/`avro` use `MultiFocus[PSVec]` — the **variable-shape** side, untouched by this
+ rewrite.
+- Retire list on landing A: `Function1Carrier`, `Function1BroadcastOptic`, `mfAssocFunction1`,
+ `restoredBundle`, `AssocF1Z`, `AssocF1InnerRead`, `CoordinateEq`, `Optic.SameFocus`,
+ `RepresentativeIndex`, and the `Focus`-sum `Broadcast` tag (its only purpose was the F1
+ carrier's index-free bundles) — then re-verify whether `MultiFocus[F]` still needs the sum
+ at all for container Fs.
+- Keep list: MF1–MF5 law suite, cross-family battery, `collectList` context corrections, PSVec
+ / generic kernels.
+
+## 5. Phased path
+
+0. *(done)* Phase-1 prototype landed on this branch as a standalone commit: `data/Glass.scala`
+ (`IndexedGlass` + `Aux` + the `Context = Unit` `Grate` alias + an equational composition
+ proof in scaladoc) and `GlassSpec` — round trips on arbitrary generated tabulations,
+ three-level associativity, type-changing composition through a **non-inline** generic helper
+ (the hole the witness design could not close), permuted / empty / Unit / NaN / signed-zero
+ indexes, and the explicit full-grid-vs-diagonal semantic statement. Open items before
+ integration: Unit-context normalization (`andThen` keeps `(Ctx, I => Unit)`, so `Grate` is
+ not yet composition-closed), and benchmarks — lazy composition repeats inner splits and
+ allocates contexts; full-grid and diagonal workloads must not be compared as equivalent.
+1. Prototype A standalone (new file, e.g. `data/Grate.scala` or a spike package), not in
+ #129. Port `tuple` / `representable` / `apply`-equivalents to `IndexedGlass` constructors.
+2. Prove the split/rebuild and full-grid composition laws against arbitrary tabulations,
+ three-level associativity, and the hostile index cases (empty, singleton, permuted,
+ NaN, ±0.0).
+3. Land full-grid composition as the grate; keep the diagonal behaviour only behind an
+ explicitly named legacy combinator if users need it.
+4. Delete the F1 runtime-dispatch machinery once nothing references it.
+5. #129 disposition: split the variable-shape corrections (`collectList` real context,
+ observed leftovers, cross-family suite) into their own PR; the broadcast-sum + witness
+ half is superseded by this re-design.
+
+## 6. Open questions for the developer
+
+1. Is nested `andThen` intended to mean **all nested coordinates** (full-grid) or to retain
+ diagonal selection? (Everything else follows.)
+2. Name: is `Glass`/`IndexedGlass` acceptable in the public vocabulary, with `Grate` reserved
+ for the `Context = Unit` specialization?
+3. Accept `(I, Unit)` index normalization deferred (result indices carry unit axes initially)?
+4. Must hand-written `Optic[_, _, _, _, MultiFocus[Function1[I, *]]]` instances remain
+ source-compatible, or is deleting the carrier in 0.x acceptable (MiMa is off anyway)?
+5. Law citations: which published Grate law source should the docs align to (Monocle
+ attribution currently unverified)?
+
+### Related
+
+- `2026-09-30-grate-broadcast-constancy.md` (the #129 spike; its superseded banner records the
+ route/grouping/equality findings that killed the witness design — consolidated in §1 A–D here)
+- `2026-09-30-grate-witness-index.md` (`RepresentativeIndex`, #127)
+- `2026-04-28-multifocus-unification.md`, `2026-04-29-powerseries-fold-spike.md`,
+ `2026-04-22-alglens-vs-powerseries.md` (variable-shape side, which survives)
diff --git a/project/plugins.sbt b/project/plugins.sbt
index ae078589..96afd0b6 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -9,14 +9,21 @@ addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.4.8")
// at release rather than as a per-PR gate (see `mutationAll` in
// build.sbt and site/docs/quality-assurance.md).
// Stryker runs each module's OWN `Test / test` against that module's
-// mutants. NB: invoke it as `project ; stryker`, NOT
-// `/stryker` — the module-scoped task form resolves
-// `loadedTestFrameworks` from the aggregating root project (which has no
-// test deps), so every mutant comes back NoCoverage; switching the
-// current project first makes specs2 visible. 0.20.x auto-derives the
-// Scala 3 dialect from scalaVersion.
-// 0.20.4 fixed multi-module invocation; the `project ; stryker` workaround still works.
-addSbtPlugin("io.stryker-mutator" % "sbt-stryker4s" % "0.20.4")
+// mutants. This build invokes it as `project ; stryker` (see
+// `mutationAll` in build.sbt and the quality.yml release sweep).
+// Upstream fixed the multi-module invocation in 0.20.4 by scoping the
+// task to the invoking project, so `/stryker` is correct too on
+// 1.x; the current-project form is kept because the alias switches
+// projects anyway and the borrowed-tests `set` lines are expressed with
+// `project ;` as well. Before 0.20.4 the module-scoped form resolved
+// `loadedTestFrameworks` from the aggregating root project (no test
+// deps), so every mutant came back NoCoverage.
+// The Scala 3 dialect is still auto-derived from scalaVersion. Bumped
+// 0.20.4 → 1.1.1: v1 has no removed or renamed features, the sbt
+// setting keys used in build.sbt (`strykerReporters`,
+// `strykerExcludedMutations`, `strykerThresholdsBreak`) are unchanged,
+// and 1.x requires sbt >= 1.11.2 (we run 1.13.0).
+addSbtPlugin("io.stryker-mutator" % "sbt-stryker4s" % "1.1.1")
// Format check gate for CI (`sbt scalafmtCheckAll scalafmtSbtCheck`
// in the workflow). The project ships a `.scalafmt.conf` pinned to
diff --git a/site/docs/multifocus.md b/site/docs/multifocus.md
index a0a80fa4..c6fd9eae 100644
--- a/site/docs/multifocus.md
+++ b/site/docs/multifocus.md
@@ -182,10 +182,26 @@ factory's rebuild is identity on the written-back `F[B]`.
listMF.collectList(_.sum)(List(1, 2, 3, 4))
```
-`MultiFocus[List]`-only, produces `List(agg(fa))` — a one-element
-output regardless of input length. Reproduces the v1
-`Reflector[List]`'s cartesian-singleton choice at the call site
-without a typeclass.
+`MultiFocus[List]`-only: passes the singleton focus vector
+`List(agg(bundle.foci))` to reconstruction, preserving the context
+returned by the read. The generic `MultiFocus.apply[List, A]` /
+`pApply[List, A, B]` factories reconstruct by identity, so their
+source-level output is a singleton regardless of input length.
+Other optics produce a singleton source only when their reconstruction
+supports that shape change; `S = List[A]` and `T = List[B]` alone do
+not guarantee it.
+
+Preserved context can retain source structure. For example,
+`MultiFocus.apply[List, Int].andThen(Lens[Int, Int](identity, (_, b) => b))`
+reconstructs `Nil` from an empty source, even though the supplied focus
+vector is `List(0)` for `_.sum`. A lawful Prism that matches `0 :: tail`
+and rebuilds by prepending `0` retains a miss unchanged; on a hit,
+`collectList(_.sum)(List(0, 1, 2))` rebuilds `List(0, 3)`, not
+`List(3)`. The singleton guarantee is about the vector passed to
+reconstruction, not the reconstructed source.
+
+This reproduces the v1 `Reflector[List]`'s cartesian-singleton choice
+at the call site without a typeclass.
### `.at(i)` — `Representable[F]`
diff --git a/site/docs/quality-assurance.md b/site/docs/quality-assurance.md
index 1672b53d..cf46564c 100644
--- a/site/docs/quality-assurance.md
+++ b/site/docs/quality-assurance.md
@@ -386,7 +386,7 @@ no change to the suite. Do not read such a delta as a regression.
```sh
# Statement / branch coverage (cross-module aggregate):
SBT_OPTS="-Xmx6g" sbt coverageAll
-# → target/scala-3.8.3/scoverage-report/ (HTML + scoverage.xml)
+# → target/scala-3.9.0/scoverage-report/ (HTML + scoverage.xml)
# Mutation testing across the runtime-logic modules:
SBT_OPTS="-Xmx6g" sbt mutationAll
@@ -400,8 +400,9 @@ python3 site/tools/gen-qa-report.py --check # CI: non-zero if stale
Both aliases relax the always-on `-Werror` (`tlFatalWarnings`) first, since
instrumented sources can surface `-Wunused` warnings; the larger heap is
because the `set` reapply re-evaluates the Laika docs settings. Mutation runs
-with `project ; stryker` (not `/stryker`) so specs2 is visible to the
-test runner — see
+use `project ; stryker`; the module-scoped `/stryker` form works too
+(upstream fixed it in 0.20.4 — before that it resolved `loadedTestFrameworks`
+from the aggregating root project and marked every mutant `NoCoverage`) — see
[`project/plugins.sbt`](https://github.com/Constructive-Programming/eo/blob/main/project/plugins.sbt).
The [`quality.yml`](https://github.com/Constructive-Programming/eo/blob/main/.github/workflows/quality.yml)
diff --git a/site/laika-static/bench/series.jsonl b/site/laika-static/bench/series.jsonl
index b75000b9..2bbf95c8 100644
--- a/site/laika-static/bench/series.jsonl
+++ b/site/laika-static/bench/series.jsonl
@@ -27,3 +27,4 @@
{"source_sha":"96bc4e2372f9968afd51764901fe0e3d0350d324","date":"2026-09-30","jdk":"temurin-21","runner":"ubuntu-22.04","jmh_params":"-i 5 -wi 3 -f 3 -t 1 -foe true -prof gc -rf json -jvmArgsAppend -XX:-ResizeTLAB -jvmArgsAppend -Xms1g -jvmArgsAppend -Xmx1g","profile":"sweep:-i5-wi3-f3-t1-gc-rt1g","results":[{"b":"AffineFoldBench.eoGetOption_0","p":"-","ns":1.0109631112699053,"ns_err":0.0014943006467939299,"bop":7.055221934938157e-06},{"b":"AffineFoldBench.eoGetOption_0_asAffineFold","p":"-","ns":1.0106205226250056,"ns_err":0.0017236135289108885,"bop":7.053427014739798e-06},{"b":"AffineFoldBench.eoGetOption_0_asOptional","p":"-","ns":2.839600233332349,"ns_err":0.04004355252907138,"bop":16.00001998201017},{"b":"AffineFoldBench.eoGetOption_0_empty","p":"-","ns":1.0102957969861324,"ns_err":0.00181868273281536,"bop":7.0513158159510766e-06},{"b":"AffineFoldBench.eoGetOption_3","p":"-","ns":13.383272916567016,"ns_err":0.49733732461294866,"bop":16.000094106935013},{"b":"AffineFoldBench.eoGetOption_6","p":"-","ns":25.59286158331658,"ns_err":0.2601723219009854,"bop":16.00017992448623},{"b":"AffineFoldBench.eoGetOption_loyalty","p":"-","ns":1.1541562631369708,"ns_err":0.001461407892702588,"bop":8.055350570392565e-06},{"b":"AffineFoldBench.eoGetOption_loyalty_empty","p":"-","ns":1.1546356494244447,"ns_err":0.0027832855304333846,"bop":8.053970706885828e-06},{"b":"AffineFoldBench.mGetOption_0","p":"-","ns":1.0105322870431228,"ns_err":0.0031276922126964343,"bop":7.0586539474167e-06},{"b":"AffineFoldBench.mGetOption_0_empty","p":"-","ns":1.0094428856948727,"ns_err":0.000817607478879604,"bop":7.056192082239894e-06},{"b":"AffineFoldBench.mGetOption_3","p":"-","ns":9.271675527363508,"ns_err":0.2251036066778496,"bop":6.473248967915961e-05},{"b":"AffineFoldBench.mGetOption_6","p":"-","ns":24.869644997771083,"ns_err":0.5578554054490302,"bop":0.00017362030015731622},{"b":"AffineFoldBench.mGetOption_loyalty","p":"-","ns":1.1539594313557255,"ns_err":0.0010851451257554688,"bop":8.058669465804632e-06},{"b":"AffineFoldBench.mGetOption_loyalty_empty","p":"-","ns":1.1539369438078324,"ns_err":0.0010059535163531004,"bop":8.061387627394688e-06},{"b":"AvroBytesBench.eoGraftPayload","p":"-","ns":157.56827605246943,"ns_err":2.4883108543080255,"bop":720.0028586585631},{"b":"AvroBytesBench.eoModifyCountry","p":"-","ns":319.7677252045895,"ns_err":5.634960097950073,"bop":928.0056745644957},{"b":"AvroBytesBench.eoModifyPartner","p":"-","ns":403.52976111652237,"ns_err":5.444543437947939,"bop":994.6737789494763},{"b":"AvroBytesBench.eoReadCountry","p":"-","ns":178.33399983407546,"ns_err":5.6554481553673455,"bop":520.0030342667358},{"b":"AvroBytesBench.eoReadPartner","p":"-","ns":213.90742280139045,"ns_err":2.6232392490020153,"bop":480.0036376855999},{"b":"AvroBytesBench.eoSliceGraftPayload","p":"-","ns":310.63911894248906,"ns_err":2.7239301516633616,"bop":1192.005567648818},{"b":"AvroBytesBench.naiveModifyCountry","p":"-","ns":2734.9919134702,"ns_err":16.73351306889619,"bop":7616.045799988497},{"b":"AvroBytesBench.naiveModifyPartner","p":"-","ns":3104.8898540847435,"ns_err":45.67267531306817,"bop":8696.051988715826},{"b":"AvroBytesBench.naivePassthroughPayload","p":"-","ns":5224.133573265022,"ns_err":117.90092428740596,"bop":14088.087584477642},{"b":"AvroBytesBench.naiveReadCountry","p":"-","ns":1686.5397759763953,"ns_err":15.965405545724284,"bop":4256.028680954964},{"b":"AvroBytesBench.naiveReadPartner","p":"-","ns":2058.428623077669,"ns_err":12.741302105484236,"bop":5424.035001064897},{"b":"AvroBytesBench.prunedReadCountry","p":"-","ns":906.93236787364,"ns_err":2.9808307211447334,"bop":1976.0154248458102},{"b":"AvroBytesBench.prunedReadPartner","p":"-","ns":671.4941023511623,"ns_err":3.7406805182960396,"bop":1592.0114244765396},{"b":"AvroDecodeReuseBench.cachedDecodeRecord","p":"-","ns":371.0759532126258,"ns_err":1.6438483501851158,"bop":1224.0039684839946},{"b":"AvroDecodeReuseBench.confluentRecordReader","p":"-","ns":422.08497080809974,"ns_err":2.0990715732945384,"bop":1560.0045148701217},{"b":"AvroDecodeReuseBench.confluentRecordReaderFresh","p":"-","ns":1515.034488910317,"ns_err":12.686812627184754,"bop":3696.0161992358862},{"b":"AvroDecodeReuseBench.freshDecodeRecord","p":"-","ns":1453.907471096651,"ns_err":16.51669136795554,"bop":3344.0155554013613},{"b":"AvroEncodeRouteBench.eo_encodeToAny","p":"-","ns":57.173912994505486,"ns_err":0.21821710042677614,"bop":312.00040211396447},{"b":"AvroEncodeRouteBench.eo_encodeValue","p":"-","ns":648.3993157828596,"ns_err":6.282974626701035,"bop":562.6712229584433},{"b":"AvroEncodeRouteBench.handwritten_stream","p":"-","ns":169.83385950524433,"ns_err":8.107402385513335,"bop":240.00119341000047},{"b":"AvroEncodeRouteBench.naive_freshPlumbing","p":"-","ns":762.2403380270439,"ns_err":13.54418885271415,"bop":2624.0053625546902},{"b":"AvroJsonBridgeBench.eoClickToAvro","p":"-","ns":3062.8417276475816,"ns_err":131.47574854786274,"bop":4653.355991664719},{"b":"AvroJsonBridgeBench.eoClickToJson","p":"-","ns":2844.296087836698,"ns_err":34.83351585308233,"bop":3984.0199995197895},{"b":"AvroJsonBridgeBench.eoWideToAvro","p":"-","ns":855.7325102592811,"ns_err":9.307220753910691,"bop":2040.0065296806956},{"b":"AvroJsonBridgeBench.eoWideToJson","p":"-","ns":646.6561701917843,"ns_err":9.585033812006243,"bop":1472.0045508628832},{"b":"AvroJsonBridgeBench.naiveClickToAvro","p":"-","ns":1549.2306699788473,"ns_err":9.384782769273077,"bop":3928.0108927116166},{"b":"AvroJsonBridgeBench.naiveClickToJson","p":"-","ns":3096.5345683868336,"ns_err":53.61424220713063,"bop":5856.0217694608855},{"b":"AvroJsonBridgeBench.naiveWideToAvro","p":"-","ns":1055.9120529887166,"ns_err":8.042378730852326,"bop":3504.007422093322},{"b":"AvroJsonBridgeBench.naiveWideToJson","p":"-","ns":1921.1169301177383,"ns_err":38.36428460817537,"bop":4376.013517849588},{"b":"AvroVulcanBench.decode_bridged","p":"-","ns":232.59804919861446,"ns_err":1.9429656745307071,"bop":880.0016339479672},{"b":"AvroVulcanBench.decode_native","p":"-","ns":16.923551204226346,"ns_err":0.25579171292258573,"bop":48.00011888457115},{"b":"AvroVulcanBench.decode_vulcanRaw","p":"-","ns":227.95238005276624,"ns_err":1.3933292200765295,"bop":880.0016042980977},{"b":"AvroVulcanBench.encode_bridged","p":"-","ns":251.76669668315404,"ns_err":2.0204899869072177,"bop":1229.3351019073646},{"b":"AvroVulcanBench.encode_native","p":"-","ns":12.32674576198806,"ns_err":0.06466854254935352,"bop":56.00008662114456},{"b":"AvroVulcanBench.encode_vulcanRaw","p":"-","ns":252.9189714266435,"ns_err":12.581186080845596,"bop":1218.6684442426006},{"b":"AvroVulcanBench.fieldGet_bridged","p":"-","ns":100.76056749486791,"ns_err":0.9127735609562618,"bop":432.0007077488332},{"b":"AvroVulcanBench.fieldGet_native","p":"-","ns":100.59943423732396,"ns_err":0.6189519014114823,"bop":432.0007071194604},{"b":"AvroVulcanBench.rootGet_bridged","p":"-","ns":432.51629212332233,"ns_err":3.5418181228799615,"bop":1472.0030439647956},{"b":"AvroVulcanBench.rootGet_native","p":"-","ns":178.66384636196355,"ns_err":2.928476803398011,"bop":600.0012562305366},{"b":"CapsBench.foldMapCap","p":"-","ns":17.784194052546738,"ns_err":0.03311049763837722,"bop":0.00012431685080685408},{"b":"CapsBench.foldMapDerivedHeld","p":"-","ns":18.189159284375304,"ns_err":0.08530860232880948,"bop":0.000127071794689036},{"b":"CapsBench.foldMapDerivedPerCall","p":"-","ns":17.67582287216376,"ns_err":0.047177034071504975,"bop":0.00012359692625034185},{"b":"CapsBench.foldMapDirect","p":"-","ns":17.684158360164368,"ns_err":0.02412187970110494,"bop":0.00012342528602760344},{"b":"CapsBench.getCap","p":"-","ns":1.2981480977404927,"ns_err":0.001396844833253719,"bop":9.065767740415106e-06},{"b":"CapsBench.getDeepCap","p":"-","ns":1.5899177070939714,"ns_err":0.003503818810498836,"bop":1.1110701775415523e-05},{"b":"CapsBench.getDeepDirect","p":"-","ns":1.442979366594313,"ns_err":0.0019057917653324554,"bop":1.0077768320177276e-05},{"b":"CapsBench.getDerivedHeld","p":"-","ns":2.1921176014021486,"ns_err":0.0016099262941785331,"bop":1.5314080182735058e-05},{"b":"CapsBench.getDerivedPerCall","p":"-","ns":1.5883991212058894,"ns_err":0.0053223807517929645,"bop":1.1083214419120726e-05},{"b":"CapsBench.getDirect","p":"-","ns":1.1547390876877268,"ns_err":0.0033832543505442334,"bop":8.054261683624986e-06},{"b":"CapsBench.modifyCap","p":"-","ns":5.136505867851749,"ns_err":0.0590562617423884,"bop":40.00003610537104},{"b":"CapsBench.modifyDeepCap","p":"-","ns":30.252805685691463,"ns_err":0.12720352393323328,"bop":176.00021282918127},{"b":"CapsBench.modifyDeepDirect","p":"-","ns":36.30721399052639,"ns_err":0.1988453049286724,"bop":152.00025544432543},{"b":"CapsBench.modifyDerivedHeld","p":"-","ns":5.942691454528862,"ns_err":0.17106973532681724,"bop":40.00004178465981},{"b":"CapsBench.modifyDerivedPerCall","p":"-","ns":5.575421384401121,"ns_err":0.06718583601174509,"bop":40.00003922707005},{"b":"CapsBench.modifyDirect","p":"-","ns":4.986364156613305,"ns_err":0.043999147402855,"bop":40.00003509246494},{"b":"ClickRecordBench.encode_derived","p":"-","ns":490.9464027668806,"ns_err":3.8623482079433167,"bop":744.0034561871774},{"b":"ClickRecordBench.encode_derivedThroughPrism","p":"-","ns":492.9156799539832,"ns_err":5.320453094104325,"bop":744.0034646051888},{"b":"ClickRecordBench.encode_hand","p":"-","ns":173.24715387668826,"ns_err":0.5396950378730552,"bop":768.0012178051986},{"b":"ClickRecordBench.encode_positional","p":"-","ns":5460.392675273921,"ns_err":77.22276673707259,"bop":23912.03844053002},{"b":"ClickRecordBench.encode_vulcanFull","p":"-","ns":6445.6062984231285,"ns_err":92.82250328177983,"bop":28408.045389847543},{"b":"CompositionBench.buildLens1","p":"-","ns":9.636824139819964,"ns_err":0.0781277235936683,"bop":72.00006776199594},{"b":"CompositionBench.buildLens3","p":"-","ns":27.730552422083225,"ns_err":0.27534311292985525,"bop":184.00019504305},{"b":"CompositionBench.buildLens6","p":"-","ns":55.70172008265732,"ns_err":0.6526447471808082,"bop":352.00039202271836},{"b":"CompositionBench.buildLensOptional3","p":"-","ns":28.901594808600464,"ns_err":0.19460767687294908,"bop":184.00020327671803},{"b":"CompositionBench.reuseLeaf","p":"-","ns":3.484009015385151,"ns_err":0.02575124584601571,"bop":24.00002450517153},{"b":"CompositionBench.reuseLens1","p":"-","ns":16.02325611769977,"ns_err":0.30235161620240797,"bop":40.000112666939366},{"b":"CompositionBench.reuseLens3","p":"-","ns":41.08955003514277,"ns_err":1.1426497799442359,"bop":72.00028882885857},{"b":"CompositionBench.reuseLens6","p":"-","ns":111.2379275588483,"ns_err":1.055749565772022,"bop":120.000781906086},{"b":"CompositionBench.reuseLensOptional3","p":"-","ns":53.36221769810329,"ns_err":0.16630476803134459,"bop":160.00037521331367},{"b":"FoldBench.eoFoldMap","p":"size=512","ns":3697.6836849354945,"ns_err":254.68085661210975,"bop":14080.603132273365},{"b":"FoldBench.eoFoldMap","p":"size=64","ns":313.16580944436413,"ns_err":1.779286128956316,"bop":768.0073650956798},{"b":"FoldBench.eoFoldMap","p":"size=8","ns":17.617930717749868,"ns_err":0.2022049911230735,"bop":0.00016109442236249461},{"b":"FoldBench.eoFoldPrices","p":"size=512","ns":3274.816874331246,"ns_err":19.644002754610984,"bop":12312.534158231185},{"b":"FoldBench.eoFoldPrices","p":"size=64","ns":324.03791463778816,"ns_err":1.8177489915213396,"bop":1560.0076190821878},{"b":"FoldBench.eoFoldPrices","p":"size=8","ns":44.312461557968426,"ns_err":0.7310470396544317,"bop":216.00040691966348},{"b":"FoldBench.mFoldMap","p":"size=512","ns":3474.155315777936,"ns_err":64.1800896923781,"bop":14080.566615893009},{"b":"FoldBench.mFoldMap","p":"size=64","ns":300.30802900788495,"ns_err":5.384006336481527,"bop":768.0070628841239},{"b":"FoldBench.mFoldMap","p":"size=8","ns":17.35881544967269,"ns_err":0.055850601749044354,"bop":0.00015834167932414053},{"b":"FoldBench.mFoldPrices","p":"size=512","ns":3166.2073307068367,"ns_err":18.183315952936816,"bop":12312.516460317132},{"b":"FoldBench.mFoldPrices","p":"size=64","ns":308.985030317395,"ns_err":2.9188166426092197,"bop":1560.0072663070512},{"b":"FoldBench.mFoldPrices","p":"size=8","ns":43.22403947076243,"ns_err":0.2449396966830234,"bop":216.00039710499004},{"b":"GenericsBench.genLensGet","p":"-","ns":1.1548018786662861,"ns_err":0.0029058194010052048,"bop":8.072486843215325e-06},{"b":"GenericsBench.genLensModify","p":"-","ns":4.085456223523904,"ns_err":0.024342689860472836,"bop":24.000028726001467},{"b":"GenericsBench.genPrismGetHit","p":"-","ns":2.5396863302987205,"ns_err":0.009665623302896262,"bop":16.000017878977268},{"b":"GenericsBench.genPrismGetMiss","p":"-","ns":1.3020771254691739,"ns_err":0.013699195360934524,"bop":9.087954734632301e-06},{"b":"GenericsBench.genPrismModifyHit","p":"-","ns":3.5485946970695994,"ns_err":0.09841926487678228,"bop":24.000024959868018},{"b":"GenericsBench.genPrismModifyMiss","p":"-","ns":1.298584246023334,"ns_err":0.0017296268527189965,"bop":9.06648564549089e-06},{"b":"GenericsBench.handLensGet","p":"-","ns":1.1551556920135686,"ns_err":0.004079315248758683,"bop":8.069994738260831e-06},{"b":"GenericsBench.handLensModify","p":"-","ns":3.581254231105776,"ns_err":0.03065906078546951,"bop":24.00002515843523},{"b":"GenericsBench.handPrismGetHit","p":"-","ns":2.4881716345098277,"ns_err":0.013869286613023012,"bop":16.000017509428588},{"b":"GenericsBench.handPrismGetMiss","p":"-","ns":1.1540656258516018,"ns_err":0.0004476867029329383,"bop":8.059986729155322e-06},{"b":"GenericsBench.handPrismModifyHit","p":"-","ns":3.643916875695024,"ns_err":0.5191976018490703,"bop":24.000025609920513},{"b":"GenericsBench.handPrismModifyMiss","p":"-","ns":1.1539574560605659,"ns_err":0.0010962640363266743,"bop":8.064242484677524e-06},{"b":"GenericsBench.rawLensGet","p":"-","ns":0.7225592453395061,"ns_err":0.0045161483974045505,"bop":5.039497728550877e-06},{"b":"GenericsBench.rawLensModify","p":"-","ns":3.0820536242088563,"ns_err":0.031059571772142275,"bop":24.000021677418562},{"b":"GenericsBench.rawPrismGetHit","p":"-","ns":2.3794034633637637,"ns_err":0.013248272193080335,"bop":16.00001672531254},{"b":"GenericsBench.rawPrismModifyHit","p":"-","ns":3.128445617216925,"ns_err":0.01688433840469121,"bop":24.000022004001565},{"b":"GetterBench.eoGet_0","p":"-","ns":1.0101236055147202,"ns_err":0.0018976602511516652,"bop":7.043997107124462e-06},{"b":"GetterBench.eoGet_3","p":"-","ns":14.087168691016709,"ns_err":0.2286617669460403,"bop":9.832193874467293e-05},{"b":"GetterBench.eoGet_6","p":"-","ns":27.94848334163242,"ns_err":1.5149419990408683,"bop":0.00019542234549648057},{"b":"GetterBench.eoGet_orderId","p":"-","ns":1.009741509444387,"ns_err":0.0008281858996922064,"bop":7.057981188219712e-06},{"b":"GetterBench.mGet_0","p":"-","ns":0.57862359831183,"ns_err":0.0009679773716200113,"bop":4.039103534402953e-06},{"b":"GetterBench.mGet_3","p":"-","ns":8.139082622812895,"ns_err":0.4838039650804928,"bop":5.678715737863698e-05},{"b":"GetterBench.mGet_6","p":"-","ns":23.28924602939862,"ns_err":1.2452668575185302,"bop":0.00016260001382250634},{"b":"GetterBench.mGet_orderId","p":"-","ns":0.5781038695748234,"ns_err":0.00047620808680755164,"bop":4.041131064397537e-06},{"b":"IsoBench.eoGet","p":"-","ns":4.652133074954275,"ns_err":0.38526380216700223,"bop":32.000032728782784},{"b":"IsoBench.eoReverseGet","p":"-","ns":4.009053146406469,"ns_err":0.054809020358565136,"bop":32.00002819813522},{"b":"IsoBench.mGet","p":"-","ns":4.714569017233497,"ns_err":0.02603641009435822,"bop":32.00003314948125},{"b":"IsoBench.mReverseGet","p":"-","ns":4.173538285319589,"ns_err":0.03013409888698641,"bop":32.00002932794864},{"b":"JsoniterBench.cModifyId","p":"size=512","ns":402028.23266681924,"ns_err":7953.2381329605505,"bop":1066721.5980232123},{"b":"JsoniterBench.cModifyId","p":"size=64","ns":52311.06392353996,"ns_err":275.77296330399383,"bop":136262.04068399232},{"b":"JsoniterBench.cModifyId","p":"size=8","ns":8330.636925828265,"ns_err":47.950275628811795,"bop":20688.08335355574},{"b":"JsoniterBench.cReadId","p":"size=512","ns":204774.8778560622,"ns_err":635.5342491648064,"bop":797930.2349496774},{"b":"JsoniterBench.cReadId","p":"size=64","ns":25937.706313898474,"ns_err":166.21827974594507,"bop":101292.62800098282},{"b":"JsoniterBench.cReadId","p":"size=8","ns":3948.8306899007375,"ns_err":28.09866879850873,"bop":15568.039443568849},{"b":"JsoniterBench.cReadStreet","p":"size=512","ns":211612.41440219368,"ns_err":2589.2823960287164,"bop":797932.1800206674},{"b":"JsoniterBench.cReadStreet","p":"size=64","ns":26219.861215470588,"ns_err":129.83274553037228,"bop":101293.12917424105},{"b":"JsoniterBench.cReadStreet","p":"size=8","ns":3938.6820206919933,"ns_err":60.73437886366435,"bop":15568.039348897077},{"b":"JsoniterBench.cReplaceId","p":"size=512","ns":403464.0986932154,"ns_err":4730.495632623863,"bop":1066664.8983470707},{"b":"JsoniterBench.cReplaceId","p":"size=64","ns":51905.299425578436,"ns_err":310.9586777970174,"bop":136221.50514546837},{"b":"JsoniterBench.cReplaceId","p":"size=8","ns":8293.54173706067,"ns_err":45.366870250531875,"bop":20648.08292845896},{"b":"JsoniterBench.cSumPrices","p":"size=512","ns":346480.2921248793,"ns_err":3040.2998598919585,"bop":1240739.1648008798},{"b":"JsoniterBench.cSumPrices","p":"size=64","ns":43270.3115923052,"ns_err":562.3835478429664,"bop":157053.69649753},{"b":"JsoniterBench.cSumPrices","p":"size=8","ns":6215.981841321687,"ns_err":36.715770439491656,"bop":22720.062167384887},{"b":"JsoniterBench.jMiss","p":"size=512","ns":173.19742195460216,"ns_err":0.8745886425744241,"bop":0.049241409708107337},{"b":"JsoniterBench.jMiss","p":"size=64","ns":170.18282988202378,"ns_err":7.749373320900109,"bop":0.004881668318560368},{"b":"JsoniterBench.jMiss","p":"size=8","ns":169.51635743539137,"ns_err":6.958041910675358,"bop":0.001686211045032304},{"b":"JsoniterBench.jModifyId","p":"size=512","ns":5620.692569075961,"ns_err":48.96556468262001,"bop":41921.59858369515},{"b":"JsoniterBench.jModifyId","p":"size=64","ns":656.3064580661179,"ns_err":4.1583288051667635,"bop":5328.01882805747},{"b":"JsoniterBench.jModifyId","p":"size=8","ns":145.07246821485765,"ns_err":1.719646674529711,"bop":992.001450012017},{"b":"JsoniterBench.jReadId","p":"size=512","ns":34.581562726891455,"ns_err":1.038623371095375,"bop":48.0098351643532},{"b":"JsoniterBench.jReadId","p":"size=64","ns":35.122013556556574,"ns_err":0.6397340916451889,"bop":48.00100983259121},{"b":"JsoniterBench.jReadId","p":"size=8","ns":36.258150714442486,"ns_err":2.100776191148797,"bop":56.00036232080111},{"b":"JsoniterBench.jReadStreet","p":"size=512","ns":179.97167732502987,"ns_err":1.0590514612941362,"bop":128.05117194569803},{"b":"JsoniterBench.jReadStreet","p":"size=64","ns":180.46406878190152,"ns_err":1.0945605345715035,"bop":128.00518272792362},{"b":"JsoniterBench.jReadStreet","p":"size=8","ns":179.53941556507158,"ns_err":1.347239964455297,"bop":128.0017929861735},{"b":"JsoniterBench.jReplaceId","p":"size=512","ns":5674.190518817036,"ns_err":40.16851880874546,"bop":41897.6137960764},{"b":"JsoniterBench.jReplaceId","p":"size=64","ns":671.1718236107314,"ns_err":6.69348787668985,"bop":5296.019251018544},{"b":"JsoniterBench.jReplaceId","p":"size=8","ns":145.93659968254067,"ns_err":0.9318823993085642,"bop":960.0014577146865},{"b":"JsoniterBench.jSumPrices","p":"size=512","ns":83876.01622775593,"ns_err":1194.562150641246,"bop":63663.994464808624},{"b":"JsoniterBench.jSumPrices","p":"size=64","ns":10585.98608626733,"ns_err":110.19964285549962,"bop":8120.304364485776},{"b":"JsoniterBench.jSumPrices","p":"size=8","ns":1492.203555787367,"ns_err":28.293219549119176,"bop":1176.0149179341017},{"b":"KyoDiBench.eoEnvFocus","p":"-","ns":78.592967291541,"ns_err":3.0739939554148843,"bop":312.00055280198353},{"b":"KyoDiBench.eoMapDrillModify","p":"-","ns":40.277157101533035,"ns_err":0.28251925352144075,"bop":216.00028319431198},{"b":"KyoDiBench.eoMapGet","p":"-","ns":2.6298864367356685,"ns_err":0.005446274862164697,"bop":1.8350288668759966e-05},{"b":"KyoDiBench.eoVarUpdateFocus","p":"-","ns":56.77974727564204,"ns_err":1.7973821364558762,"bop":200.0003992219666},{"b":"KyoDiBench.handEnvUse","p":"-","ns":74.43752760299553,"ns_err":1.0024529051329212,"bop":304.0005237194554},{"b":"KyoDiBench.handMapDrillModify","p":"-","ns":37.80931408403349,"ns_err":1.6892148497380852,"bop":216.00026606896415},{"b":"KyoDiBench.handMapGet","p":"-","ns":2.0285565151092992,"ns_err":0.0025645240655012215,"bop":1.4184679665024589e-05},{"b":"KyoDiBench.handVarUpdate","p":"-","ns":53.01635188775264,"ns_err":0.7174838906283796,"bop":184.0003725463162},{"b":"LensBench.eoGet","p":"-","ns":1.1549782245180953,"ns_err":0.0011316770345345946,"bop":8.066353549971897e-06},{"b":"LensBench.eoModify","p":"-","ns":5.1265176456891055,"ns_err":0.036484938658840206,"bop":40.00003607923678},{"b":"LensBench.eoModifyDeep","p":"-","ns":35.008800996252354,"ns_err":0.9535074280967135,"bop":152.00024623611674},{"b":"LensBench.eoReplace","p":"-","ns":5.032717631443517,"ns_err":0.6602474806816802,"bop":40.00003539451218},{"b":"LensBench.mGet","p":"-","ns":1.298759654253332,"ns_err":0.001469174017487177,"bop":9.067825364882808e-06},{"b":"LensBench.mModify","p":"-","ns":5.582374653495678,"ns_err":0.03353228933577937,"bop":40.00003925140318},{"b":"LensBench.mModifyDeep","p":"-","ns":30.30610650458747,"ns_err":0.45371811895943137,"bop":176.00021302813045},{"b":"LensBench.mReplace","p":"-","ns":4.803460315264819,"ns_err":0.04633010921188653,"bop":40.00003381584541},{"b":"MultiFocusBench.eoFold_powerEach","p":"size=1024","ns":16271.222257730298,"ns_err":1201.8919453905285,"bop":43036.224308164936},{"b":"MultiFocusBench.eoFold_powerEach","p":"size=256","ns":3230.3087141178926,"ns_err":14.326839600950114,"bop":9240.22142362067},{"b":"MultiFocusBench.eoFold_powerEach","p":"size=32","ns":373.767829391718,"ns_err":1.3726895824748726,"bop":920.0054400678741},{"b":"MultiFocusBench.eoFold_powerEach","p":"size=4","ns":76.3839404315198,"ns_err":0.25249513396359236,"bop":328.0006138870216},{"b":"MultiFocusBench.eoModify_multiFocus","p":"size=1024","ns":57429.215928541096,"ns_err":202.3777400029195,"bop":331114.77963432396},{"b":"MultiFocusBench.eoModify_multiFocus","p":"size=256","ns":13369.642447332535,"ns_err":77.82305294608443,"bop":76134.2496377612},{"b":"MultiFocusBench.eoModify_multiFocus","p":"size=32","ns":1598.0544542226912,"ns_err":21.516618320389707,"bop":8600.023208913708},{"b":"MultiFocusBench.eoModify_multiFocus","p":"size=4","ns":243.9852247065678,"ns_err":4.500761003956206,"bop":1341.335292306087},{"b":"MultiFocusBench.eoModify_powerEach","p":"size=1024","ns":34555.71922215392,"ns_err":741.3201446947847,"bop":115176.97219488636},{"b":"MultiFocusBench.eoModify_powerEach","p":"size=256","ns":8083.972252753609,"ns_err":81.19003864033948,"bop":26080.554156763134},{"b":"MultiFocusBench.eoModify_powerEach","p":"size=32","ns":1009.4882350444276,"ns_err":7.339949408031387,"bop":3152.0146701533045},{"b":"MultiFocusBench.eoModify_powerEach","p":"size=4","ns":190.44159337857874,"ns_err":3.0892566034996807,"bop":800.0015286557923},{"b":"MultiFocusBench.naive_listMap","p":"size=1024","ns":10283.67488026543,"ns_err":538.4277416963403,"bop":65578.67018648992},{"b":"MultiFocusBench.naive_listMap","p":"size=256","ns":2469.473168805653,"ns_err":10.526427738222251,"bop":16424.169246254096},{"b":"MultiFocusBench.naive_listMap","p":"size=32","ns":306.6411474465613,"ns_err":1.3506973753781149,"bop":2088.004455519372},{"b":"MultiFocusBench.naive_listMap","p":"size=4","ns":43.631610839791044,"ns_err":0.18707504623705856,"bop":296.0003506004358},{"b":"MultiFocusBench.naive_sumQty","p":"size=1024","ns":4716.23566580227,"ns_err":138.5645186854284,"bop":16129.224533780469},{"b":"MultiFocusBench.naive_sumQty","p":"size=256","ns":684.3706531537653,"ns_err":5.170343476410501,"bop":3840.0469042554455},{"b":"MultiFocusBench.naive_sumQty","p":"size=32","ns":67.03047571126022,"ns_err":0.2945898926816822,"bop":256.0009742530796},{"b":"MultiFocusBench.naive_sumQty","p":"size=4","ns":6.839965671126561,"ns_err":0.15410696240680538,"bop":5.464991678426298e-05},{"b":"MultiFocusCollectBench.eoCollectList_listSum","p":"-","ns":56.12447272331896,"ns_err":1.4203119165115095,"bop":56.0003945036272},{"b":"MultiFocusCollectBench.eoCollectMap_constSum","p":"-","ns":2.0207051461383063,"ns_err":0.002237744874973506,"bop":1.4112463101368164e-05},{"b":"MultiFocusCollectBench.eoCollectMap_zipMean","p":"-","ns":199.39450085849055,"ns_err":4.655856154839956,"bop":880.0014028441452},{"b":"MultiFocusCollectBench.eoModify_multiFocusTuple3","p":"-","ns":19.553151713387184,"ns_err":0.07904434883701175,"bop":128.00013773766534},{"b":"MultiFocusCollectBench.eoModify_multiFocusTuple6","p":"-","ns":33.630182356248156,"ns_err":0.25040180133242695,"bop":224.0002367511655},{"b":"MultiFocusCollectBench.naive_constSum","p":"-","ns":2.545165479614797,"ns_err":0.011565851539659127,"bop":16.00001789532254},{"b":"MultiFocusCollectBench.naive_listSum","p":"-","ns":31.176811920249538,"ns_err":0.2714747950216097,"bop":56.0002192152757},{"b":"MultiFocusCollectBench.naive_tuple3Rewrite","p":"-","ns":12.769065872232812,"ns_err":0.11018705864416709,"bop":96.00008983823028},{"b":"MultiFocusCollectBench.naive_tuple6Rewrite","p":"-","ns":23.243214702768626,"ns_err":0.1378141872552914,"bop":184.00016372455994},{"b":"MultiFocusCollectBench.naive_zipMeanBroadcast","p":"-","ns":207.4306690686144,"ns_err":1.8499448311349653,"bop":1176.001458067223},{"b":"OpticBuildBench.build","p":"-","ns":46.00865744970197,"ns_err":0.28110016970693247,"bop":184.00036883283713},{"b":"OpticBuildBench.buildAndUse","p":"-","ns":1087.701254167059,"ns_err":4.979155266704788,"bop":2840.008345728627},{"b":"OpticBuildBench.reuseUse","p":"-","ns":1017.2712582209411,"ns_err":13.60474985812521,"bop":2672.0071506943245},{"b":"OptionalBench.eoModify_0","p":"-","ns":22.26960089039155,"ns_err":2.661271794879961,"bop":112.00015671531284},{"b":"OptionalBench.eoModify_0_empty","p":"-","ns":1.298855098645496,"ns_err":0.0030810075710932267,"bop":9.06307500473944e-06},{"b":"OptionalBench.eoModify_3","p":"-","ns":53.929631781718946,"ns_err":0.2256496730386733,"bop":160.0003792015075},{"b":"OptionalBench.eoModify_6","p":"-","ns":126.34824816101141,"ns_err":2.702053799437681,"bop":208.00088833164827},{"b":"OptionalBench.eoModify_loyalty","p":"-","ns":18.047016801088184,"ns_err":0.17877880698170873,"bop":112.00012701084593},{"b":"OptionalBench.eoModify_loyalty_empty","p":"-","ns":1.4434967307606312,"ns_err":0.001458432009319743,"bop":1.0069198373753306e-05},{"b":"OptionalBench.eoReplace_0","p":"-","ns":6.361138148519356,"ns_err":0.06045574293077043,"bop":40.00004468432141},{"b":"OptionalBench.eoReplace_loyalty","p":"-","ns":11.378059651528071,"ns_err":0.17906263982580448,"bop":88.00007993046982},{"b":"OptionalBench.mModify_0","p":"-","ns":22.123300990131163,"ns_err":0.13122043428413313,"bop":112.00015550956303},{"b":"OptionalBench.mModify_0_empty","p":"-","ns":1.4426353839906028,"ns_err":0.0009312089433131912,"bop":1.0069381783070495e-05},{"b":"OptionalBench.mModify_3","p":"-","ns":68.33770245436386,"ns_err":0.2349340435260949,"bop":304.0004803284104},{"b":"OptionalBench.mModify_6","p":"-","ns":112.37597744460949,"ns_err":2.8294116285290567,"bop":496.000790392104},{"b":"OptionalBench.mModify_loyalty","p":"-","ns":18.634128301571486,"ns_err":0.14327440776255565,"bop":112.00013114460278},{"b":"OptionalBench.mModify_loyalty_empty","p":"-","ns":1.5866475414162684,"ns_err":0.0016996559273457924,"bop":1.1094640399094742e-05},{"b":"OptionalBench.mReplace_0","p":"-","ns":6.082237695533384,"ns_err":0.12307200720694866,"bop":40.00004276435295},{"b":"OptionalBench.mReplace_loyalty","p":"-","ns":11.983927195361268,"ns_err":2.272421958040048,"bop":88.00008423325971},{"b":"OrderAvroBench.eoModifyNames","p":"size=512","ns":33947.14943579015,"ns_err":1445.5239872046268,"bop":105610.6781964979},{"b":"OrderAvroBench.eoModifyNames","p":"size=64","ns":4034.4722772458763,"ns_err":19.157538035672506,"bop":12584.140808980033},{"b":"OrderAvroBench.eoModifyNames","p":"size=8","ns":572.882045982298,"ns_err":13.718469400691992,"bop":2048.0061482992846},{"b":"OrderAvroBench.eoModifyStreet","p":"size=512","ns":121.15266137293698,"ns_err":0.6791789745661824,"bop":328.02899357515474},{"b":"OrderAvroBench.eoModifyStreet","p":"size=64","ns":122.24591380884026,"ns_err":1.6645618432352294,"bop":328.00426560874655},{"b":"OrderAvroBench.eoModifyStreet","p":"size=8","ns":121.72226714449059,"ns_err":0.7902631570470743,"bop":328.0013060208248},{"b":"OrderAvroBench.eoReadStreet","p":"size=512","ns":35.00923506662662,"ns_err":0.6820025590663628,"bop":88.00837874812505},{"b":"OrderAvroBench.eoReadStreet","p":"size=64","ns":35.1152938501,"ns_err":0.607504178973454,"bop":88.00122524937186},{"b":"OrderAvroBench.eoReadStreet","p":"size=8","ns":34.64812241993314,"ns_err":0.21728869563550451,"bop":88.00037185498049},{"b":"OrderAvroBench.monocleModifyNames","p":"size=512","ns":100975.97005134859,"ns_err":847.4149501983073,"bop":382771.9755179157},{"b":"OrderAvroBench.monocleModifyNames","p":"size=64","ns":10240.36648306735,"ns_err":433.1673341949734,"bop":39848.34649626099},{"b":"OrderAvroBench.monocleModifyNames","p":"size=8","ns":1470.4980065400136,"ns_err":22.6972040209842,"bop":5400.01553211119},{"b":"OrderAvroBench.monocleModifyStreet","p":"size=512","ns":53788.61550316231,"ns_err":431.0305410576997,"bop":169082.5414152208},{"b":"OrderAvroBench.monocleModifyStreet","p":"size=64","ns":6973.6855460427005,"ns_err":27.739902296268436,"bop":20904.23598005582},{"b":"OrderAvroBench.monocleModifyStreet","p":"size=8","ns":931.6079327356803,"ns_err":12.048440090121954,"bop":2992.009847970793},{"b":"OrderAvroBench.monocleReadStreet","p":"size=512","ns":32089.78389003433,"ns_err":179.8057579496162,"bop":69789.54034576795},{"b":"OrderAvroBench.monocleReadStreet","p":"size=64","ns":4071.43351254939,"ns_err":16.62344491392532,"bop":8848.142081362292},{"b":"OrderAvroBench.monocleReadStreet","p":"size=8","ns":479.0786037807016,"ns_err":3.839423773229976,"bop":1208.0051589549507},{"b":"OrderAvroBench.naiveModifyNames","p":"size=512","ns":65820.0010383889,"ns_err":330.38862248050566,"bop":226299.4816415225},{"b":"OrderAvroBench.naiveModifyNames","p":"size=64","ns":8638.015402298106,"ns_err":43.80530052648248,"bop":27936.2922722123},{"b":"OrderAvroBench.naiveModifyNames","p":"size=8","ns":1124.6909620150518,"ns_err":13.083973806681799,"bop":3752.0118839504476},{"b":"OrderAvroBench.naiveModifyStreet","p":"size=512","ns":53571.07586737354,"ns_err":279.69898070800036,"bop":169060.90456130402},{"b":"OrderAvroBench.naiveModifyStreet","p":"size=64","ns":6805.6253905906315,"ns_err":216.11742815355436,"bop":20880.230219437286},{"b":"OrderAvroBench.naiveModifyStreet","p":"size=8","ns":932.681089956109,"ns_err":6.254976925398711,"bop":2968.0098551992164},{"b":"OrderAvroBench.naiveReadStreet","p":"size=512","ns":32354.770091073868,"ns_err":287.92341430300036,"bop":69789.35421949779},{"b":"OrderAvroBench.naiveReadStreet","p":"size=64","ns":4063.0348081809148,"ns_err":38.52470451527252,"bop":8848.141759736258},{"b":"OrderAvroBench.naiveReadStreet","p":"size=8","ns":488.92195814422206,"ns_err":8.495194033836102,"bop":1208.0052474619501},{"b":"OrderCirceBench.directNames","p":"size=512","ns":231988.2079310423,"ns_err":3296.6719780744966,"bop":613985.9431060441},{"b":"OrderCirceBench.directNames","p":"size=64","ns":29337.655438255555,"ns_err":620.9636975222428,"bop":76678.99563022953},{"b":"OrderCirceBench.directNames","p":"size=8","ns":4033.8566043618243,"ns_err":146.29184059997675,"bop":10688.087814040997},{"b":"OrderCirceBench.directStreet","p":"size=512","ns":1023.0319606771504,"ns_err":5.706719363179526,"bop":2744.8075201585857},{"b":"OrderCirceBench.directStreet","p":"size=64","ns":1022.2500716848211,"ns_err":9.714662837175574,"bop":2736.1061908046136},{"b":"OrderCirceBench.directStreet","p":"size=8","ns":1027.478525585431,"ns_err":18.85990036496752,"bop":2736.022480651455},{"b":"OrderCirceBench.eoNames","p":"size=512","ns":236200.15261418498,"ns_err":4432.274659903364,"bop":609925.3329129537},{"b":"OrderCirceBench.eoNames","p":"size=64","ns":29779.328380349907,"ns_err":284.76698678640713,"bop":78779.13846095583},{"b":"OrderCirceBench.eoNames","p":"size=8","ns":4198.013279665157,"ns_err":72.51552967162506,"bop":10944.091526580954},{"b":"OrderCirceBench.eoNamesIor","p":"size=512","ns":254559.84800106086,"ns_err":5199.153467037154,"bop":679444.033633364},{"b":"OrderCirceBench.eoNamesIor","p":"size=64","ns":32783.41679016899,"ns_err":652.1868111437733,"bop":87532.95521452511},{"b":"OrderCirceBench.eoNamesIor","p":"size=8","ns":4284.883009968912,"ns_err":31.043422894084536,"bop":11592.094047833001},{"b":"OrderCirceBench.eoStreet","p":"size=512","ns":1029.837227100076,"ns_err":8.379445052016843,"bop":2720.8127964705686},{"b":"OrderCirceBench.eoStreet","p":"size=64","ns":1030.496220929295,"ns_err":21.990529423960222,"bop":2720.107033830854},{"b":"OrderCirceBench.eoStreet","p":"size=8","ns":1045.475286842329,"ns_err":52.50848371229014,"bop":2720.0228884392104},{"b":"OrderCirceBench.eoStreetIor","p":"size=512","ns":1032.1083174176538,"ns_err":12.763622740943726,"bop":2736.8145832544437},{"b":"OrderCirceBench.eoStreetIor","p":"size=64","ns":1061.4794676353904,"ns_err":36.907252910891366,"bop":2736.1102387782053},{"b":"OrderCirceBench.eoStreetIor","p":"size=8","ns":1032.6319968762887,"ns_err":22.290985312582713,"bop":2736.022370938154},{"b":"OrderCirceBench.hcursorNames","p":"size=512","ns":230402.2286310947,"ns_err":4630.51321845713,"bop":605776.662384291},{"b":"OrderCirceBench.hcursorNames","p":"size=64","ns":29306.90799880952,"ns_err":703.9102967156731,"bop":77268.68234824669},{"b":"OrderCirceBench.hcursorNames","p":"size=8","ns":4039.630226634047,"ns_err":34.14030476040613,"bop":10768.090184743156},{"b":"OrderCirceBench.hcursorStreet","p":"size=512","ns":1102.9923796713765,"ns_err":7.756601366480916,"bop":3032.8706029562095},{"b":"OrderCirceBench.hcursorStreet","p":"size=64","ns":1097.624566105864,"ns_err":10.0542050558145,"bop":3032.1140685382506},{"b":"OrderCirceBench.hcursorStreet","p":"size=8","ns":1110.6227951762257,"ns_err":27.153855325693787,"bop":3032.0240460322248},{"b":"OrderCirceBench.monocleNames","p":"size=512","ns":230377.87777025154,"ns_err":2272.2524847201585,"bop":1121762.8031852443},{"b":"OrderCirceBench.monocleNames","p":"size=64","ns":26062.05112068736,"ns_err":285.09985974932886,"bop":132765.65899963523},{"b":"OrderCirceBench.monocleNames","p":"size=8","ns":3964.8475186598585,"ns_err":71.69088747889069,"bop":19488.0759894088},{"b":"OrderCirceBench.monocleStreet","p":"size=512","ns":180881.7808459299,"ns_err":11053.949299650452,"bop":908025.5481003963},{"b":"OrderCirceBench.monocleStreet","p":"size=64","ns":22191.35654132175,"ns_err":177.35921919276794,"bop":113799.36625491451},{"b":"OrderCirceBench.monocleStreet","p":"size=8","ns":3330.4138081720234,"ns_err":16.647105167512382,"bop":17048.06379448323},{"b":"OrderCirceBench.naiveNames","p":"size=512","ns":193295.0575351145,"ns_err":5152.554602959927,"bop":965265.8884192485},{"b":"OrderCirceBench.naiveNames","p":"size=64","ns":23844.438748797587,"ns_err":257.4124174115908,"bop":120845.21141860675},{"b":"OrderCirceBench.naiveNames","p":"size=8","ns":3521.407062397864,"ns_err":22.773402178127178,"bop":17808.067918394074},{"b":"OrderCirceBench.naiveStreet","p":"size=512","ns":176141.3401215884,"ns_err":1437.8756682591618,"bop":902558.3653174537},{"b":"OrderCirceBench.naiveStreet","p":"size=64","ns":22171.98050530002,"ns_err":303.5391925723062,"bop":113777.9864830193},{"b":"OrderCirceBench.naiveStreet","p":"size=8","ns":3334.08712867708,"ns_err":35.06405362777578,"bop":17050.730535640752},{"b":"OrderJsoniterBench.eoModifyStreet","p":"size=512","ns":5830.226870525901,"ns_err":92.11976844465818,"bop":42029.23915527748},{"b":"OrderJsoniterBench.eoModifyStreet","p":"size=64","ns":846.2768848210524,"ns_err":7.446444945777681,"bop":5432.09835978314},{"b":"OrderJsoniterBench.eoModifyStreet","p":"size=8","ns":349.58215978253895,"ns_err":19.62757500820431,"bop":1080.00805169939},{"b":"OrderJsoniterBench.eoReadStreet","p":"size=512","ns":184.3646145933975,"ns_err":2.547787337586699,"bop":128.16570729356923},{"b":"OrderJsoniterBench.eoReadStreet","p":"size=64","ns":182.15212870547052,"ns_err":1.7406845575095897,"bop":128.02116360316566},{"b":"OrderJsoniterBench.eoReadStreet","p":"size=8","ns":182.0670037059594,"ns_err":3.2299678403126393,"bop":128.00419228059522},{"b":"OrderJsoniterBench.eoSumPrices","p":"size=512","ns":84604.5390091077,"ns_err":775.9148989205785,"bop":63715.76972557985},{"b":"OrderJsoniterBench.eoSumPrices","p":"size=64","ns":10519.71539121822,"ns_err":58.32516207732581,"bop":8121.216934310195},{"b":"OrderJsoniterBench.eoSumPrices","p":"size=8","ns":1509.7721056532698,"ns_err":16.453679784327544,"bop":1176.03476104039},{"b":"OrderJsoniterBench.monocleModifyStreet","p":"size=512","ns":161337.4559605412,"ns_err":2442.9068546850185,"bop":333576.12119425926},{"b":"OrderJsoniterBench.monocleModifyStreet","p":"size=64","ns":19108.09212395691,"ns_err":197.15570347218573,"bop":30081.924859457882},{"b":"OrderJsoniterBench.monocleModifyStreet","p":"size=8","ns":3335.793870629508,"ns_err":17.63272341319898,"bop":4664.070420965512},{"b":"OrderJsoniterBench.monocleReadStreet","p":"size=512","ns":87933.81365281381,"ns_err":1580.1918734351943,"bop":193227.26635276756},{"b":"OrderJsoniterBench.monocleReadStreet","p":"size=64","ns":11125.207465291423,"ns_err":211.4264398733368,"bop":24705.13822274805},{"b":"OrderJsoniterBench.monocleReadStreet","p":"size=8","ns":1829.6122703205688,"ns_err":10.210294036783749,"bop":3648.03897031251},{"b":"OrderJsoniterBench.monocleSumPrices","p":"size=512","ns":403160.92714051827,"ns_err":2928.325375479425,"bop":1190729.065466169},{"b":"OrderJsoniterBench.monocleSumPrices","p":"size=64","ns":15533.245501398316,"ns_err":426.9716882136779,"bop":46876.25479364775},{"b":"OrderJsoniterBench.monocleSumPrices","p":"size=8","ns":2673.5960653886527,"ns_err":14.845633732493722,"bop":6640.056900633814},{"b":"OrderJsoniterBench.naiveModifyStreet","p":"size=512","ns":161649.3574105916,"ns_err":7222.454577703534,"bop":333567.05390343635},{"b":"OrderJsoniterBench.naiveModifyStreet","p":"size=64","ns":19040.902204140624,"ns_err":225.48686068178887,"bop":30057.9180573435},{"b":"OrderJsoniterBench.naiveModifyStreet","p":"size=8","ns":3313.36164973625,"ns_err":10.79823159847681,"bop":4640.069939087771},{"b":"OrderJsoniterBench.naiveReadStreet","p":"size=512","ns":85327.2805949001,"ns_err":1929.4088252704132,"bop":193225.04342422282},{"b":"OrderJsoniterBench.naiveReadStreet","p":"size=64","ns":11016.037344233042,"ns_err":310.43442734591,"bop":24705.126795558117},{"b":"OrderJsoniterBench.naiveReadStreet","p":"size=8","ns":1839.7875552295989,"ns_err":8.934906885099409,"bop":3648.0391931203053},{"b":"OrderJsoniterBench.naiveSumPrices","p":"size=512","ns":92440.19009847999,"ns_err":1902.1115412589504,"bop":230119.12940550974},{"b":"OrderJsoniterBench.naiveSumPrices","p":"size=64","ns":11884.181741109724,"ns_err":197.70790864436984,"bop":29337.215669038495},{"b":"OrderJsoniterBench.naiveSumPrices","p":"size=8","ns":1936.9653851794246,"ns_err":7.103859405024104,"bop":4248.041249129663},{"b":"OrderJsoniterBench.nativeReadStreet","p":"size=512","ns":33115.709370620316,"ns_err":347.97858983149774,"bop":451.4807202432582},{"b":"OrderJsoniterBench.nativeReadStreet","p":"size=64","ns":4275.918394549513,"ns_err":95.58669214950687,"bop":424.462230049326},{"b":"OrderJsoniterBench.nativeReadStreet","p":"size=8","ns":794.1547177392814,"ns_err":9.244616182145776,"bop":424.0171592269108},{"b":"OrderJsoniterBench.nativeSumPrices","p":"size=512","ns":59431.748201972754,"ns_err":996.1388904218288,"bop":86271.50357987048},{"b":"OrderJsoniterBench.nativeSumPrices","p":"size=64","ns":7414.581374089556,"ns_err":118.01883877088348,"bop":10920.800550327865},{"b":"OrderJsoniterBench.nativeSumPrices","p":"size=8","ns":1175.25477949412,"ns_err":38.13395838323485,"bop":1512.0254374555318},{"b":"PlatedBench.eoTransformDeep","p":"n=4096","ns":140316.80137111738,"ns_err":831.618811879781,"bop":624398.1231148541},{"b":"PlatedBench.eoTransformDeep","p":"n=512","ns":16687.67390854251,"ns_err":100.65123836559857,"bop":57361.71344324086},{"b":"PlatedBench.eoTransformDeep","p":"n=64","ns":1932.1247204982496,"ns_err":5.533759777452454,"bop":7184.037476938732},{"b":"PlatedBench.eoTransformExpr","p":"n=4096","ns":135687.8500254227,"ns_err":1024.1409785734625,"bop":655362.7598615265},{"b":"PlatedBench.eoTransformExpr","p":"n=512","ns":16920.98660805687,"ns_err":47.623540014664286,"bop":81825.7280557497},{"b":"PlatedBench.eoTransformExpr","p":"n=64","ns":2083.7483295295488,"ns_err":6.824104629840917,"bop":10144.040932747484},{"b":"PlatedBench.eoUniverseDeep","p":"n=4096","ns":147610.8294381612,"ns_err":923.443871360747,"bop":786611.4375838233},{"b":"PlatedBench.eoUniverseDeep","p":"n=512","ns":17928.42587614546,"ns_err":75.51579033556862,"bop":98377.84115525638},{"b":"PlatedBench.eoUniverseDeep","p":"n=64","ns":2121.0424641000895,"ns_err":15.650000793617568,"bop":12360.041953366874},{"b":"PlatedBench.eoUniverseExpr","p":"n=4096","ns":147441.70335524608,"ns_err":690.9592717461438,"bop":786419.3122466498},{"b":"PlatedBench.eoUniverseExpr","p":"n=512","ns":17379.65115868545,"ns_err":127.61858937926257,"bop":98185.77508048968},{"b":"PlatedBench.eoUniverseExpr","p":"n=64","ns":2076.1157135313206,"ns_err":11.864569022400385,"bop":12168.041946136831},{"b":"PlatedBench.eoUniverseJson","p":"n=4096","ns":254477.98431595493,"ns_err":2896.471529538322,"bop":786497.2039220056},{"b":"PlatedBench.eoUniverseJson","p":"n=512","ns":28331.90213181656,"ns_err":702.3278050503759,"bop":98186.89376350089},{"b":"PlatedBench.eoUniverseJson","p":"n=64","ns":3234.1479130335347,"ns_err":14.938497864359691,"bop":12168.0642259356},{"b":"PlatedBench.mTransformExpr","p":"n=4096","ns":173520.13354337524,"ns_err":949.6964935069901,"bop":753742.2785284301},{"b":"PlatedBench.mTransformExpr","p":"n=512","ns":16628.829501819368,"ns_err":100.2087908735478,"bop":69585.69822214231},{"b":"PlatedBench.mTransformExpr","p":"n=64","ns":2677.1827425545066,"ns_err":19.123500064780433,"bop":11728.051893013322},{"b":"PlatedBench.mUniverseExpr","p":"n=4096","ns":3990196.355411428,"ns_err":171821.4490400833,"bop":4688577.993943331},{"b":"PlatedBench.mUniverseExpr","p":"n=512","ns":295830.326831401,"ns_err":1740.8041888395612,"bop":475022.37337231584},{"b":"PlatedBench.mUniverseExpr","p":"n=64","ns":27464.81800801731,"ns_err":1131.9125192699814,"bop":45424.53299192971},{"b":"PlatedBench.mUniverseJson","p":"n=4096","ns":4374190.2671416905,"ns_err":205346.29224027236,"bop":6490719.640729595},{"b":"PlatedBench.mUniverseJson","p":"n=512","ns":329382.3797728926,"ns_err":1835.7731961299544,"bop":699929.635653592},{"b":"PlatedBench.mUniverseJson","p":"n=64","ns":30921.863832424388,"ns_err":173.1498708956773,"bop":73208.6036345629},{"b":"PlatedBench.visitorTransformDeep","p":"n=4096","ns":50295.10356285508,"ns_err":213.7512423757923,"bop":163892.61001049008},{"b":"PlatedBench.visitorTransformDeep","p":"n=512","ns":5766.971808882486,"ns_err":12.667611278206712,"bop":20496.58889295592},{"b":"PlatedBench.visitorTransformDeep","p":"n=64","ns":602.746406905786,"ns_err":10.1600711804463,"bop":2576.0116773714562},{"b":"PlatedBench.visitorTransformExpr","p":"n=4096","ns":70401.59475169596,"ns_err":207.91612449003134,"bop":360475.2446651148},{"b":"PlatedBench.visitorTransformExpr","p":"n=512","ns":8522.242673712086,"ns_err":30.41032259625708,"bop":45032.87034238945},{"b":"PlatedBench.visitorTransformExpr","p":"n=64","ns":1077.808005029031,"ns_err":2.5445298639613285,"bop":5608.020886399129},{"b":"PlatedBench.visitorUniverseDeep","p":"n=4096","ns":72613.40260969572,"ns_err":247.6955081405108,"bop":196716.85003987857},{"b":"PlatedBench.visitorUniverseDeep","p":"n=512","ns":8894.016728570421,"ns_err":31.14374507322675,"bop":24632.908334536012},{"b":"PlatedBench.visitorUniverseDeep","p":"n=64","ns":945.2087634972123,"ns_err":3.6076371306112254,"bop":3128.01834992887},{"b":"PlatedBench.visitorUniverseExpr","p":"n=4096","ns":54045.59912062457,"ns_err":345.1617004551819,"bop":196655.33913828147},{"b":"PlatedBench.visitorUniverseExpr","p":"n=512","ns":6636.770754111921,"ns_err":26.62644164697233,"bop":24584.68133175036},{"b":"PlatedBench.visitorUniverseExpr","p":"n=64","ns":786.8807756903091,"ns_err":2.5107113302033306,"bop":3080.0157186818183},{"b":"PlatedBench.visitorUniverseJson","p":"n=4096","ns":194733.6660313672,"ns_err":12526.021088908496,"bop":469789.7335731558},{"b":"PlatedBench.visitorUniverseJson","p":"n=512","ns":20689.09403290621,"ns_err":155.82518850521228,"bop":40954.11311874301},{"b":"PlatedBench.visitorUniverseJson","p":"n=64","ns":1998.2248527098684,"ns_err":11.505584051905162,"bop":5096.039015733982},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=1024","ns":13584.826470663429,"ns_err":70.65116324532701,"bop":41414.391802483486},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=16","ns":259.0053719225677,"ns_err":1.180315111185386,"bop":1088.0036725917428},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=256","ns":3321.8343939803267,"ns_err":49.14524221287149,"bop":10688.531867400367},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=4","ns":117.67340244356136,"ns_err":1.7030322552983874,"bop":608.0011287536765},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=4096","ns":56063.233941901985,"ns_err":628.4669388779439,"bop":164379.28212590827},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=64","ns":868.3014886522986,"ns_err":7.675866569914291,"bop":3008.0289874662913},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=1024","ns":61195.04911273123,"ns_err":468.4819099362128,"bop":279433.6017900378},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=16","ns":720.1628644728482,"ns_err":18.437910501453313,"bop":3736.010067090421},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=256","ns":21811.215423869613,"ns_err":168.3245211668449,"bop":107331.3623551075},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=4","ns":248.76740145395598,"ns_err":2.9261211588909384,"bop":1176.0024150994275},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=4096","ns":214508.72216238562,"ns_err":4920.733847483973,"bop":967901.2992146465},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=64","ns":2556.8204342841027,"ns_err":14.777931549145253,"bop":14520.081013132209},{"b":"PowerSeriesBench.naive_powerEach","p":"size=1024","ns":5041.172587024358,"ns_err":37.55175775535443,"bop":28730.380696874447},{"b":"PowerSeriesBench.naive_powerEach","p":"size=16","ns":91.33748046689259,"ns_err":0.7837599082191775,"bop":504.00131636274966},{"b":"PowerSeriesBench.naive_powerEach","p":"size=256","ns":1309.2093399243822,"ns_err":10.805784165622999,"bop":7224.2099284445985},{"b":"PowerSeriesBench.naive_powerEach","p":"size=4","ns":28.248665692799893,"ns_err":0.21410911427318297,"bop":168.00027740752904},{"b":"PowerSeriesBench.naive_powerEach","p":"size=4096","ns":20488.858563545138,"ns_err":229.99262794481933,"bop":114777.40872724811},{"b":"PowerSeriesBench.naive_powerEach","p":"size=64","ns":341.47455414393704,"ns_err":5.377143732646964,"bop":1848.0113488962515},{"b":"PowerSeriesNestedBench.eoModify_nested","p":"size=1024","ns":77988.51974790743,"ns_err":726.8123869927266,"bop":210563.2919744548},{"b":"PowerSeriesNestedBench.eoModify_nested","p":"size=16","ns":1557.306809309427,"ns_err":18.430632910910116,"bop":4768.057865319927},{"b":"PowerSeriesNestedBench.eoModify_nested","p":"size=256","ns":19125.6006023625,"ns_err":309.1163786631635,"bop":53676.05142108484},{"b":"PowerSeriesNestedBench.eoModify_nested","p":"size=4","ns":717.7002600601184,"ns_err":12.89527105074779,"bop":2264.0131185552277},{"b":"PowerSeriesNestedBench.eoModify_nested","p":"size=64","ns":5025.316529909227,"ns_err":106.29554569776498,"bop":14616.576664829034},{"b":"PowerSeriesNestedBench.monocle_nested","p":"size=1024","ns":251617.19738632854,"ns_err":1069.9935682558887,"bop":1118858.0506351194},{"b":"PowerSeriesNestedBench.monocle_nested","p":"size=16","ns":3110.7942407763608,"ns_err":90.89048351335184,"bop":15776.111995783334},{"b":"PowerSeriesNestedBench.monocle_nested","p":"size=256","ns":96756.50578873117,"ns_err":1251.4646796822144,"bop":430210.8394055021},{"b":"PowerSeriesNestedBench.monocle_nested","p":"size=4","ns":1428.468518667533,"ns_err":82.39533834924802,"bop":5568.026140983038},{"b":"PowerSeriesNestedBench.monocle_nested","p":"size=64","ns":10315.792275109347,"ns_err":61.369954991030916,"bop":58902.45722199059},{"b":"PowerSeriesNestedBench.naive_nested","p":"size=1024","ns":21567.315404036824,"ns_err":126.10657223075637,"bop":115071.2748500509},{"b":"PowerSeriesNestedBench.naive_nested","p":"size=16","ns":376.19391253059246,"ns_err":3.738754215451325,"bop":2136.0143184199815},{"b":"PowerSeriesNestedBench.naive_nested","p":"size=256","ns":5544.989406114101,"ns_err":58.339994708366845,"bop":29019.48935509364},{"b":"PowerSeriesNestedBench.naive_nested","p":"size=4","ns":137.18038130933343,"ns_err":1.6188940732932406,"bop":792.0025846993443},{"b":"PowerSeriesNestedBench.naive_nested","p":"size=64","ns":1331.5978495951595,"ns_err":13.424831719331955,"bop":7512.153823611184},{"b":"PowerSeriesPrismBench.eoModify_sparse","p":"size=128","ns":1482.6134747761637,"ns_err":152.18107082877995,"bop":4816.086275404747},{"b":"PowerSeriesPrismBench.eoModify_sparse","p":"size=2048","ns":26203.611993205628,"ns_err":999.732219272611,"bop":104685.31304871608},{"b":"PowerSeriesPrismBench.eoModify_sparse","p":"size=32","ns":377.1039759389224,"ns_err":11.83182618131013,"bop":1360.0075860261213},{"b":"PowerSeriesPrismBench.eoModify_sparse","p":"size=512","ns":6307.990668802596,"ns_err":139.5448269381819,"bop":24785.73127112184},{"b":"PowerSeriesPrismBench.eoModify_sparse","p":"size=8","ns":124.91072229707453,"ns_err":0.9051864868075363,"bop":496.0013433613172},{"b":"PowerSeriesPrismBench.monocle_sparse","p":"size=128","ns":4765.595772742173,"ns_err":35.57394711600476,"bop":27784.23944697189},{"b":"PowerSeriesPrismBench.monocle_sparse","p":"size=2048","ns":114148.37026194787,"ns_err":1084.1158574499025,"bop":523150.9415880315},{"b":"PowerSeriesPrismBench.monocle_sparse","p":"size=32","ns":1249.6517550467809,"ns_err":8.714331525329957,"bop":7032.022949137561},{"b":"PowerSeriesPrismBench.monocle_sparse","p":"size=512","ns":33984.88368838053,"ns_err":293.1442346501355,"bop":166685.71204276427},{"b":"PowerSeriesPrismBench.monocle_sparse","p":"size=8","ns":372.3401020328774,"ns_err":4.990074575643543,"bop":1952.0038990527996},{"b":"PowerSeriesPrismBench.naive_sparse","p":"size=128","ns":343.61921451323894,"ns_err":3.5060761840091113,"bop":1568.0209954178922},{"b":"PowerSeriesPrismBench.naive_sparse","p":"size=2048","ns":5894.767004798745,"ns_err":72.65917027100338,"bop":24612.929866045906},{"b":"PowerSeriesPrismBench.naive_sparse","p":"size=32","ns":88.32115917848274,"ns_err":0.9561038643677301,"bop":416.0018505631521},{"b":"PowerSeriesPrismBench.naive_sparse","p":"size=512","ns":1407.112967425603,"ns_err":9.963958956550009,"bop":6176.403691740619},{"b":"PowerSeriesPrismBench.naive_sparse","p":"size=8","ns":24.831465296567483,"ns_err":0.1739597066800037,"bop":128.000276498799},{"b":"PrismBench.eoGetOptionAbsent","p":"-","ns":1.0098695575349455,"ns_err":0.000737851714589043,"bop":7.059451807612374e-06},{"b":"PrismBench.eoGetOptionPresent","p":"-","ns":1.0102519112365815,"ns_err":0.0010388047527547812,"bop":7.053485975430834e-06},{"b":"PrismBench.eoGetRightAbsent","p":"-","ns":1.1551495468625366,"ns_err":0.0020547983589267677,"bop":8.060269893549449e-06},{"b":"PrismBench.eoGetRightPresent","p":"-","ns":2.630816602804578,"ns_err":0.015859107480778383,"bop":16.00001849253879},{"b":"PrismBench.eoReverseGet","p":"-","ns":2.632091644970917,"ns_err":0.013404515955349765,"bop":16.00001850185652},{"b":"PrismBench.eoRightReverseGet","p":"-","ns":2.6322087945253014,"ns_err":0.008057771093695095,"bop":16.000018513648822},{"b":"PrismBench.mGetOptionAbsent","p":"-","ns":1.1544838373648667,"ns_err":0.0010474693082549648,"bop":8.072664544903765e-06},{"b":"PrismBench.mGetOptionPresent","p":"-","ns":1.1551094450745096,"ns_err":0.0045126708069174555,"bop":8.066922549014214e-06},{"b":"PrismBench.mGetRightAbsent","p":"-","ns":1.2985337668995753,"ns_err":0.000979537626587768,"bop":9.082666703257221e-06},{"b":"PrismBench.mGetRightPresent","p":"-","ns":2.791815255570988,"ns_err":0.01219755088733155,"bop":16.00001963541999},{"b":"PrismBench.mReverseGet","p":"-","ns":2.7314280250067253,"ns_err":0.0140944811557745,"bop":16.000019200001265},{"b":"PrismBench.mRightReverseGet","p":"-","ns":2.932133201825402,"ns_err":0.26675767355680735,"bop":16.000020617674313},{"b":"ReviewBench.eoReverseGet_0","p":"-","ns":3.1905946962813467,"ns_err":0.029074060608476705,"bop":24.00002241378293},{"b":"ReviewBench.eoReverseGet_3","p":"-","ns":18.19839552190685,"ns_err":0.1373111633250568,"bop":72.00012792241957},{"b":"ReviewBench.eoReverseGet_6","p":"-","ns":35.17187367891737,"ns_err":5.548913090765916,"bop":120.00024742355814},{"b":"ReviewBench.naiveBuild_0","p":"-","ns":3.272213006600155,"ns_err":0.028597792718193685,"bop":24.0000230083687},{"b":"ReviewBench.naiveBuild_3","p":"-","ns":10.692178939357344,"ns_err":0.09153094426818442,"bop":72.00007525112412},{"b":"ReviewBench.naiveBuild_6","p":"-","ns":18.571642427356853,"ns_err":0.1238144990059455,"bop":120.00013065745524},{"b":"SchemesBench.drosteAna","p":"-","ns":52136.36956388988,"ns_err":430.41257621939957,"bop":327632.368878023},{"b":"SchemesBench.drosteCata","p":"-","ns":40585.61336562965,"ns_err":347.8442225964206,"bop":164824.2869954142},{"b":"SchemesBench.drosteHylo","p":"-","ns":58662.23641378439,"ns_err":7580.458123704309,"bop":328640.41490535537},{"b":"SchemesBench.eoAna","p":"-","ns":102934.7220913317,"ns_err":771.876321463383,"bop":589712.7311074537},{"b":"SchemesBench.eoCata","p":"-","ns":71760.40692832068,"ns_err":531.9477481505545,"bop":197568.51005373884},{"b":"SchemesBench.eoHylo","p":"-","ns":84885.6907078893,"ns_err":723.200239513036,"bop":295848.6015419385},{"b":"SchemesBench.handAna","p":"-","ns":27919.021180727363,"ns_err":529.3156188522303,"bop":163816.1974944817},{"b":"SchemesBench.handCata","p":"-","ns":13641.803463395114,"ns_err":10.8384663664883,"bop":0.09544727583761813},{"b":"SchemesBench.handHylo","p":"-","ns":10983.885392842445,"ns_err":47.10824058464587,"bop":0.07682796057893608},{"b":"SetterBench.eoModify_0","p":"-","ns":3.31568046992187,"ns_err":0.04415018463051819,"bop":24.00002332842369},{"b":"SetterBench.eoModify_3","p":"-","ns":12.927217192542757,"ns_err":0.11876135384330955,"bop":72.00009097538445},{"b":"SetterBench.eoModify_6","p":"-","ns":25.66825001503648,"ns_err":0.08266384255205991,"bop":120.00018059098986},{"b":"SetterBench.eoModify_orderId","p":"-","ns":4.764556071070571,"ns_err":0.1070603175311599,"bop":40.00003349128932},{"b":"SetterBench.mModify_0","p":"-","ns":3.3031854715303237,"ns_err":0.025969168581061977,"bop":24.000023240262998},{"b":"SetterBench.mModify_3","p":"-","ns":29.92869123236205,"ns_err":0.12575347163025838,"bop":168.00021037140183},{"b":"SetterBench.mModify_6","p":"-","ns":59.43465584309964,"ns_err":0.6369928484398416,"bop":288.0004178974586},{"b":"SetterBench.mModify_orderId","p":"-","ns":4.725379840617033,"ns_err":0.07915392890320831,"bop":40.00003324569877},{"b":"TraversalBench.eoFoldNested","p":"size=512","ns":5490.766628002611,"ns_err":53.3951517515908,"bop":20200.871755631037},{"b":"TraversalBench.eoFoldNested","p":"size=64","ns":628.7775488277654,"ns_err":9.858072670544798,"bop":2680.0159775821635},{"b":"TraversalBench.eoFoldNested","p":"size=8","ns":56.31490559028559,"ns_err":0.4156795282799102,"bop":328.0005357064107},{"b":"TraversalBench.eoFoldPrices","p":"size=512","ns":2971.934207802223,"ns_err":25.517771127181785,"bop":12312.471880590763},{"b":"TraversalBench.eoFoldPrices","p":"size=64","ns":319.61436961156704,"ns_err":1.8677304533687982,"bop":1560.008118206731},{"b":"TraversalBench.eoFoldPrices","p":"size=8","ns":43.30538082237904,"ns_err":0.5494194372484935,"bop":216.00041143651904},{"b":"TraversalBench.eoModify","p":"size=512","ns":8225.534963779943,"ns_err":120.0628291117809,"bop":36897.3061330644},{"b":"TraversalBench.eoModify","p":"size=64","ns":895.6185856168745,"ns_err":4.515316622403768,"bop":4640.023046192384},{"b":"TraversalBench.eoModify","p":"size=8","ns":104.5572491340349,"ns_err":0.5186629751898127,"bop":608.0009940433231},{"b":"TraversalBench.mFoldPrices","p":"size=512","ns":31694.79584505824,"ns_err":257.9552219063754,"bop":162581.032842488},{"b":"TraversalBench.mFoldPrices","p":"size=64","ns":2744.438126580616,"ns_err":43.65436057158555,"bop":15424.06998349658},{"b":"TraversalBench.mFoldPrices","p":"size=8","ns":407.12609235269287,"ns_err":3.4981833736645753,"bop":2016.003885737699},{"b":"TraversalBench.mModify","p":"size=512","ns":34307.22900061759,"ns_err":249.98819801878628,"bop":176925.33523197984},{"b":"TraversalBench.mModify","p":"size=64","ns":2282.8981345524267,"ns_err":17.745948710656453,"bop":14448.058110762306},{"b":"TraversalBench.mModify","p":"size=8","ns":350.27059385370734,"ns_err":2.31293990456828,"bop":1936.0033293807635},{"b":"ZioDiBench.eoDrillGet","p":"-","ns":11.398479974359327,"ns_err":0.10662600295715997,"bop":7.970234762033856e-05},{"b":"ZioDiBench.eoDrillModify","p":"-","ns":124.55906976728963,"ns_err":1.2796360804020854,"bop":528.0008758240089},{"b":"ZioDiBench.eoServiceGet","p":"-","ns":4.590491144032266,"ns_err":0.004451844472751959,"bop":3.207874610949567e-05},{"b":"ZioDiBench.eoServiceReplace","p":"-","ns":99.5819811935177,"ns_err":0.6438057611906451,"bop":456.0006999816402},{"b":"ZioDiBench.handDrillGet","p":"-","ns":19.174268766991975,"ns_err":0.1794205055756568,"bop":120.0001347770213},{"b":"ZioDiBench.handDrillModify","p":"-","ns":121.36769714154744,"ns_err":0.7290740351773004,"bop":648.0008525493506},{"b":"ZioDiBench.handServiceGet","p":"-","ns":19.151552063074902,"ns_err":0.21210359576347393,"bop":120.00013466083753},{"b":"ZioDiBench.handServiceReplace","p":"-","ns":106.47838037802399,"ns_err":0.37150420110278926,"bop":576.0007486893361}]}
{"source_sha":"188f10bd35c7a67fb18eaf4378398f98ec7c783e","date":"2026-10-01","jdk":"temurin-21","runner":"ubuntu-22.04","jmh_params":"-i 5 -wi 3 -f 3 -t 1 -foe true -prof gc -rf json -jvmArgsAppend -XX:-ResizeTLAB -jvmArgsAppend -Xms1g -jvmArgsAppend -Xmx1g","profile":"sweep:-i5-wi3-f3-t1-gc-rt1g","results":[{"b":"AffineFoldBench.eoGetOption_0","p":"-","ns":0.6721922315288479,"ns_err":0.006305728089650858,"bop":4.693831862221974e-06},{"b":"AffineFoldBench.eoGetOption_0_asAffineFold","p":"-","ns":0.6735662217328219,"ns_err":0.006321091941891661,"bop":4.700602565562778e-06},{"b":"AffineFoldBench.eoGetOption_0_asOptional","p":"-","ns":1.7704677826006217,"ns_err":0.0019904945435525825,"bop":16.00001243045804},{"b":"AffineFoldBench.eoGetOption_0_empty","p":"-","ns":0.6743628487178247,"ns_err":0.006853817235650209,"bop":4.710443784691602e-06},{"b":"AffineFoldBench.eoGetOption_3","p":"-","ns":11.595348775660112,"ns_err":0.02824681283342464,"bop":16.000081407940066},{"b":"AffineFoldBench.eoGetOption_6","p":"-","ns":22.265103680750236,"ns_err":0.01752993547400935,"bop":16.000156312943798},{"b":"AffineFoldBench.eoGetOption_loyalty","p":"-","ns":0.8094446976262015,"ns_err":0.004025375719832945,"bop":5.645963856263083e-06},{"b":"AffineFoldBench.eoGetOption_loyalty_empty","p":"-","ns":0.8154398765964271,"ns_err":0.006875380939727899,"bop":5.695754491763191e-06},{"b":"AffineFoldBench.mGetOption_0","p":"-","ns":0.699401523242267,"ns_err":0.004162915809634021,"bop":4.88566032360953e-06},{"b":"AffineFoldBench.mGetOption_0_empty","p":"-","ns":0.6971418591150186,"ns_err":0.0037667569635682152,"bop":4.866391333338915e-06},{"b":"AffineFoldBench.mGetOption_3","p":"-","ns":7.921693127298602,"ns_err":0.006557813355742528,"bop":5.5357385227208645e-05},{"b":"AffineFoldBench.mGetOption_6","p":"-","ns":19.272314153920128,"ns_err":0.6836058291845241,"bop":0.0001346771725778945},{"b":"AffineFoldBench.mGetOption_loyalty","p":"-","ns":0.8287877051230732,"ns_err":0.010482946038934822,"bop":5.789773019504978e-06},{"b":"AffineFoldBench.mGetOption_loyalty_empty","p":"-","ns":0.8176036482244572,"ns_err":0.005655598809895179,"bop":5.708272840773051e-06},{"b":"AvroBytesBench.eoGraftPayload","p":"-","ns":118.531449705176,"ns_err":1.1432598080363396,"bop":720.0021949474404},{"b":"AvroBytesBench.eoModifyCountry","p":"-","ns":223.15954145985944,"ns_err":4.857841649376486,"bop":928.0040233529397},{"b":"AvroBytesBench.eoModifyPartner","p":"-","ns":270.45661470541586,"ns_err":3.1059040720361266,"bop":984.0048425894976},{"b":"AvroBytesBench.eoReadCountry","p":"-","ns":140.56259517241585,"ns_err":1.8861344648984844,"bop":520.0023902531342},{"b":"AvroBytesBench.eoReadPartner","p":"-","ns":159.2745850287946,"ns_err":0.8118103036717615,"bop":480.00270604064707},{"b":"AvroBytesBench.eoSliceGraftPayload","p":"-","ns":232.36544379265223,"ns_err":0.7024968399662249,"bop":1192.0042331848958},{"b":"AvroBytesBench.naiveModifyCountry","p":"-","ns":2072.258094022368,"ns_err":15.886961492978273,"bop":7616.034699911162},{"b":"AvroBytesBench.naiveModifyPartner","p":"-","ns":2339.3362898648847,"ns_err":16.938798407950475,"bop":8696.039162591078},{"b":"AvroBytesBench.naivePassthroughPayload","p":"-","ns":3761.1596729773005,"ns_err":69.36219209540155,"bop":14088.062965140474},{"b":"AvroBytesBench.naiveReadCountry","p":"-","ns":1264.5017962296924,"ns_err":27.48289434921103,"bop":4256.021487373276},{"b":"AvroBytesBench.naiveReadPartner","p":"-","ns":1590.0161904805989,"ns_err":7.496335569277087,"bop":5424.027022282413},{"b":"AvroBytesBench.prunedReadCountry","p":"-","ns":681.299787559346,"ns_err":3.2405742968947155,"bop":1976.0115760141505},{"b":"AvroBytesBench.prunedReadPartner","p":"-","ns":441.0136517360057,"ns_err":1.0123730077997861,"bop":1592.0074950200515},{"b":"AvroDecodeReuseBench.cachedDecodeRecord","p":"-","ns":309.2767275002492,"ns_err":0.36466345749327367,"bop":1224.0033030430998},{"b":"AvroDecodeReuseBench.confluentRecordReader","p":"-","ns":331.78319756039923,"ns_err":0.6478602324172575,"bop":1560.0035455232216},{"b":"AvroDecodeReuseBench.confluentRecordReaderFresh","p":"-","ns":1050.2952395058658,"ns_err":4.048306479831533,"bop":3696.0112213277007},{"b":"AvroDecodeReuseBench.freshDecodeRecord","p":"-","ns":1040.401906754227,"ns_err":26.344769864851337,"bop":3344.0111223524173},{"b":"AvroEncodeRouteBench.eo_encodeToAny","p":"-","ns":43.328123122962225,"ns_err":0.11726095055344557,"bop":312.0003041337946},{"b":"AvroEncodeRouteBench.eo_encodeValue","p":"-","ns":492.59019756921765,"ns_err":3.838929338605546,"bop":568.0034593865746},{"b":"AvroEncodeRouteBench.handwritten_stream","p":"-","ns":116.02204495884057,"ns_err":0.5313042705840211,"bop":240.00081475538232},{"b":"AvroEncodeRouteBench.naive_freshPlumbing","p":"-","ns":563.6858572814747,"ns_err":19.612650341858952,"bop":2624.0039574841967},{"b":"AvroJsonBridgeBench.eoClickToAvro","p":"-","ns":2303.391918446495,"ns_err":12.448372178459595,"bop":4674.684015291526},{"b":"AvroJsonBridgeBench.eoClickToJson","p":"-","ns":2126.8324737612625,"ns_err":20.354356321333388,"bop":3984.01494046319},{"b":"AvroJsonBridgeBench.eoWideToAvro","p":"-","ns":561.9915386205448,"ns_err":25.729573467170816,"bop":2050.6711208308834},{"b":"AvroJsonBridgeBench.eoWideToJson","p":"-","ns":458.32948015446476,"ns_err":11.210722172278263,"bop":1472.0032176245595},{"b":"AvroJsonBridgeBench.naiveClickToAvro","p":"-","ns":1085.1227947627815,"ns_err":6.340088047733917,"bop":3928.0076206319213},{"b":"AvroJsonBridgeBench.naiveClickToJson","p":"-","ns":2297.97703803343,"ns_err":40.57159329716443,"bop":5856.016152911023},{"b":"AvroJsonBridgeBench.naiveWideToAvro","p":"-","ns":701.5134685129887,"ns_err":8.32930304399318,"bop":3504.004925157372},{"b":"AvroJsonBridgeBench.naiveWideToJson","p":"-","ns":1412.4497445076638,"ns_err":6.832200961011601,"bop":4376.009914177505},{"b":"AvroVulcanBench.decode_bridged","p":"-","ns":165.39479132056005,"ns_err":0.5018829880256714,"bop":880.0011607749367},{"b":"AvroVulcanBench.decode_native","p":"-","ns":13.194088797307376,"ns_err":0.05292494677759887,"bop":48.000092610426286},{"b":"AvroVulcanBench.decode_vulcanRaw","p":"-","ns":160.4344322548024,"ns_err":0.224370516143172,"bop":880.001126705323},{"b":"AvroVulcanBench.encode_bridged","p":"-","ns":174.5460661498573,"ns_err":1.0941630981117956,"bop":1224.0012249918684},{"b":"AvroVulcanBench.encode_native","p":"-","ns":9.254620371218868,"ns_err":0.010351814406689338,"bop":56.00006495180071},{"b":"AvroVulcanBench.encode_vulcanRaw","p":"-","ns":173.3265616613674,"ns_err":1.051051968919706,"bop":1224.001216067615},{"b":"AvroVulcanBench.fieldGet_bridged","p":"-","ns":78.66328766460563,"ns_err":0.37112820198459084,"bop":432.0005520706565},{"b":"AvroVulcanBench.fieldGet_native","p":"-","ns":78.92976615847638,"ns_err":1.8499284953919386,"bop":432.00055430520325},{"b":"AvroVulcanBench.rootGet_bridged","p":"-","ns":287.0436475519578,"ns_err":1.5088408739369061,"bop":1472.0020140226857},{"b":"AvroVulcanBench.rootGet_native","p":"-","ns":129.46098732786652,"ns_err":1.0012746727901296,"bop":600.0009088775291},{"b":"CapsBench.foldMapCap","p":"-","ns":16.362546092017638,"ns_err":0.01763020543749734,"bop":0.00011431109054343145},{"b":"CapsBench.foldMapDerivedHeld","p":"-","ns":16.574080932128492,"ns_err":0.014013625317627223,"bop":0.00011585401979981075},{"b":"CapsBench.foldMapDerivedPerCall","p":"-","ns":16.250409881530942,"ns_err":0.015545781534587647,"bop":0.00011347224355418015},{"b":"CapsBench.foldMapDirect","p":"-","ns":16.215918148511893,"ns_err":0.011250077313559845,"bop":0.00011324601357053178},{"b":"CapsBench.getCap","p":"-","ns":0.8844242358424038,"ns_err":0.005711271401345693,"bop":6.182524058580755e-06},{"b":"CapsBench.getDeepCap","p":"-","ns":1.126021540201465,"ns_err":0.003942992196209702,"bop":7.878576759921083e-06},{"b":"CapsBench.getDeepDirect","p":"-","ns":1.014401948524068,"ns_err":0.00874007821003486,"bop":7.093116735306629e-06},{"b":"CapsBench.getDerivedHeld","p":"-","ns":1.7559072262901059,"ns_err":0.0021886143433865086,"bop":1.2274580355888013e-05},{"b":"CapsBench.getDerivedPerCall","p":"-","ns":1.2260636967660996,"ns_err":0.0026531983313374105,"bop":8.570541926743929e-06},{"b":"CapsBench.getDirect","p":"-","ns":0.7855848463467964,"ns_err":0.008815991010259695,"bop":5.484546154673345e-06},{"b":"CapsBench.modifyCap","p":"-","ns":3.2238637155006034,"ns_err":0.008324631373952267,"bop":40.00002263985648},{"b":"CapsBench.modifyDeepCap","p":"-","ns":24.09708428867732,"ns_err":0.19990387712610572,"bop":176.00016922655647},{"b":"CapsBench.modifyDeepDirect","p":"-","ns":29.3717709472515,"ns_err":0.06186056926861217,"bop":152.0002062111761},{"b":"CapsBench.modifyDerivedHeld","p":"-","ns":3.994385243956862,"ns_err":0.010213046558780511,"bop":40.00002805168152},{"b":"CapsBench.modifyDerivedPerCall","p":"-","ns":3.650515084482032,"ns_err":0.015489324059100742,"bop":40.00002562930815},{"b":"CapsBench.modifyDirect","p":"-","ns":3.0809814137400466,"ns_err":0.011014352417629696,"bop":40.000021635791896},{"b":"ClickRecordBench.encode_derived","p":"-","ns":476.8382129934838,"ns_err":18.45334416409036,"bop":744.0033484963999},{"b":"ClickRecordBench.encode_derivedThroughPrism","p":"-","ns":452.99158968062585,"ns_err":6.515044971233379,"bop":744.0031812121244},{"b":"ClickRecordBench.encode_hand","p":"-","ns":111.22780217741624,"ns_err":0.1563037857483593,"bop":768.0007811304247},{"b":"ClickRecordBench.encode_positional","p":"-","ns":5171.368503240603,"ns_err":61.4568152366079,"bop":23912.03634965529},{"b":"ClickRecordBench.encode_vulcanFull","p":"-","ns":6135.676388133931,"ns_err":27.66692802122163,"bop":28408.04309270815},{"b":"CompositionBench.buildLens1","p":"-","ns":3.8964989938039905,"ns_err":0.017718915417019327,"bop":72.00002734778839},{"b":"CompositionBench.buildLens3","p":"-","ns":17.033330085539387,"ns_err":0.027659472137842384,"bop":184.00011958799755},{"b":"CompositionBench.buildLens6","p":"-","ns":31.641905884451774,"ns_err":0.06414017392334334,"bop":352.00022214779625},{"b":"CompositionBench.buildLensOptional3","p":"-","ns":16.763873209902293,"ns_err":0.02119665449647495,"bop":184.00011769433902},{"b":"CompositionBench.reuseLeaf","p":"-","ns":2.2672166218899066,"ns_err":0.0038729438424932277,"bop":24.000015912476453},{"b":"CompositionBench.reuseLens1","p":"-","ns":13.372532668429692,"ns_err":0.9277853109605636,"bop":40.00009391328956},{"b":"CompositionBench.reuseLens3","p":"-","ns":37.33754369782427,"ns_err":0.07558918289577769,"bop":72.0002622166522},{"b":"CompositionBench.reuseLens6","p":"-","ns":104.15007559638686,"ns_err":0.10976066578123767,"bop":120.00073098818305},{"b":"CompositionBench.reuseLensOptional3","p":"-","ns":47.43520364188556,"ns_err":0.3645401289523009,"bop":160.00033305217616},{"b":"FoldBench.eoFoldMap","p":"size=512","ns":3386.019273478586,"ns_err":4.40321253081446,"bop":14080.552279751837},{"b":"FoldBench.eoFoldMap","p":"size=64","ns":299.6402512223845,"ns_err":1.354834016275852,"bop":768.0070500844176},{"b":"FoldBench.eoFoldMap","p":"size=8","ns":16.25339593541596,"ns_err":0.028133944907158613,"bop":0.00014862113286009634},{"b":"FoldBench.eoFoldPrices","p":"size=512","ns":2428.9254067495253,"ns_err":15.010317940802704,"bop":12312.396169701138},{"b":"FoldBench.eoFoldPrices","p":"size=64","ns":287.3895074733843,"ns_err":0.2613252722900831,"bop":1560.0067543709993},{"b":"FoldBench.eoFoldPrices","p":"size=8","ns":37.22637274827054,"ns_err":0.039868504558954514,"bop":216.00034136852636},{"b":"FoldBench.mFoldMap","p":"size=512","ns":3371.4312741341796,"ns_err":3.854204770753683,"bop":14080.549834341879},{"b":"FoldBench.mFoldMap","p":"size=64","ns":294.24489620249176,"ns_err":0.5748991795420096,"bop":768.0069164614454},{"b":"FoldBench.mFoldMap","p":"size=8","ns":17.057162836413948,"ns_err":0.02322464511157561,"bop":0.0001559320435004864},{"b":"FoldBench.mFoldPrices","p":"size=512","ns":2422.553846204578,"ns_err":18.611379405590654,"bop":12312.395031536942},{"b":"FoldBench.mFoldPrices","p":"size=64","ns":287.33702236255823,"ns_err":0.26917452116814256,"bop":1560.006754387561},{"b":"FoldBench.mFoldPrices","p":"size=8","ns":37.20805595267357,"ns_err":0.0505147785463191,"bop":216.0003412845918},{"b":"GenericsBench.genLensGet","p":"-","ns":0.7812982914428854,"ns_err":0.0025043127581338594,"bop":5.451405251127198e-06},{"b":"GenericsBench.genLensModify","p":"-","ns":2.9135446178665787,"ns_err":0.0036624331667515224,"bop":24.000020455026995},{"b":"GenericsBench.genPrismGetHit","p":"-","ns":1.7615748457989586,"ns_err":0.007472024893307595,"bop":16.00001236320939},{"b":"GenericsBench.genPrismGetMiss","p":"-","ns":0.9246105606819933,"ns_err":0.00502998624123017,"bop":6.44414169892654e-06},{"b":"GenericsBench.genPrismModifyHit","p":"-","ns":2.3840736485473366,"ns_err":0.005371379382766734,"bop":24.000016743170196},{"b":"GenericsBench.genPrismModifyMiss","p":"-","ns":0.9083481418864744,"ns_err":0.0021954303790578185,"bop":6.335932664745966e-06},{"b":"GenericsBench.handLensGet","p":"-","ns":0.7812166118077438,"ns_err":0.003527275354357206,"bop":5.45423189923171e-06},{"b":"GenericsBench.handLensModify","p":"-","ns":2.3153540690317467,"ns_err":0.009497871556703024,"bop":24.00001625043548},{"b":"GenericsBench.handPrismGetHit","p":"-","ns":1.6488456608853759,"ns_err":0.002833892790574453,"bop":16.000011562028618},{"b":"GenericsBench.handPrismGetMiss","p":"-","ns":0.7960152337023381,"ns_err":0.0015173179196224709,"bop":5.559236624204386e-06},{"b":"GenericsBench.handPrismModifyHit","p":"-","ns":2.295957609172926,"ns_err":0.014550870881692182,"bop":24.000016123153696},{"b":"GenericsBench.handPrismModifyMiss","p":"-","ns":0.7735633580015958,"ns_err":0.005255325640770246,"bop":5.405744189076889e-06},{"b":"GenericsBench.rawLensGet","p":"-","ns":0.5465710487557097,"ns_err":0.00046219336713514435,"bop":3.8107553817869887e-06},{"b":"GenericsBench.rawLensModify","p":"-","ns":1.9793290057750537,"ns_err":0.004185394007856622,"bop":24.000013900701397},{"b":"GenericsBench.rawPrismGetHit","p":"-","ns":1.4339191816068033,"ns_err":0.0017566114591242544,"bop":16.000010066860263},{"b":"GenericsBench.rawPrismModifyHit","p":"-","ns":1.7423910616698413,"ns_err":0.001275032300275597,"bop":24.000012236750482},{"b":"GetterBench.eoGet_0","p":"-","ns":0.7073475530357786,"ns_err":0.01003322376210874,"bop":4.9397460297001535e-06},{"b":"GetterBench.eoGet_3","p":"-","ns":13.944528081268402,"ns_err":0.03478417070248267,"bop":9.735984019127663e-05},{"b":"GetterBench.eoGet_6","p":"-","ns":24.734491649493975,"ns_err":0.20886935188050115,"bop":0.00017284665430484535},{"b":"GetterBench.eoGet_orderId","p":"-","ns":0.702961466415767,"ns_err":0.0031632618320773854,"bop":4.909477917541334e-06},{"b":"GetterBench.mGet_0","p":"-","ns":0.42127884619782197,"ns_err":0.004988842113354329,"bop":2.9393739206766256e-06},{"b":"GetterBench.mGet_3","p":"-","ns":7.195821989183474,"ns_err":0.1433201211744533,"bop":5.0209281997347294e-05},{"b":"GetterBench.mGet_6","p":"-","ns":20.530576634748545,"ns_err":1.01287156699622,"bop":0.00014325924122105191},{"b":"GetterBench.mGet_orderId","p":"-","ns":0.42440566812864616,"ns_err":0.008788144063221471,"bop":2.9640164908395204e-06},{"b":"IsoBench.eoGet","p":"-","ns":2.7722515406620554,"ns_err":0.004558587949218709,"bop":32.00001946934832},{"b":"IsoBench.eoReverseGet","p":"-","ns":2.537263319326184,"ns_err":0.004538223456317122,"bop":32.00001781336835},{"b":"IsoBench.mGet","p":"-","ns":2.8766480458534853,"ns_err":0.003951550054881128,"bop":32.000020196388},{"b":"IsoBench.mReverseGet","p":"-","ns":2.528598591529283,"ns_err":0.0036364763233980068,"bop":32.000017756557675},{"b":"JsoniterBench.cModifyId","p":"size=512","ns":319436.9920302041,"ns_err":2025.8951397420444,"bop":1066682.8492576482},{"b":"JsoniterBench.cModifyId","p":"size=64","ns":41346.63669340424,"ns_err":348.82728356332984,"bop":136258.93032132328},{"b":"JsoniterBench.cModifyId","p":"size=8","ns":6755.990563185062,"ns_err":94.49806374918195,"bop":20704.06753759015},{"b":"JsoniterBench.cReadId","p":"size=512","ns":159126.64504654016,"ns_err":460.8098636300122,"bop":797917.2537144514},{"b":"JsoniterBench.cReadId","p":"size=64","ns":20031.37186217269,"ns_err":88.33365143897096,"bop":101288.57549981154},{"b":"JsoniterBench.cReadId","p":"size=8","ns":3078.9706760977706,"ns_err":5.376102225191111,"bop":15568.030757590233},{"b":"JsoniterBench.cReadStreet","p":"size=512","ns":159360.94602146806,"ns_err":366.7883257263518,"bop":797917.3218554982},{"b":"JsoniterBench.cReadStreet","p":"size=64","ns":20860.426908448,"ns_err":1265.7413537997218,"bop":101288.70228053593},{"b":"JsoniterBench.cReadStreet","p":"size=8","ns":3108.6137029490405,"ns_err":17.431056341461954,"bop":15568.031031106428},{"b":"JsoniterBench.cReplaceId","p":"size=512","ns":321046.64406541665,"ns_err":1427.628771435215,"bop":1066643.3250949197},{"b":"JsoniterBench.cReplaceId","p":"size=64","ns":41578.73434065379,"ns_err":287.219192137518,"bop":136218.84354509198},{"b":"JsoniterBench.cReplaceId","p":"size=8","ns":6784.4372325452605,"ns_err":95.91901410965617,"bop":20640.067737656842},{"b":"JsoniterBench.cSumPrices","p":"size=512","ns":264487.1304208235,"ns_err":1078.0654029694674,"bop":1240715.2111721088},{"b":"JsoniterBench.cSumPrices","p":"size=64","ns":32948.87108600827,"ns_err":126.25661557357716,"bop":157385.13731571168},{"b":"JsoniterBench.cSumPrices","p":"size=8","ns":4645.5917389220385,"ns_err":36.79269827930142,"bop":22682.713638622114},{"b":"JsoniterBench.jMiss","p":"size=512","ns":150.2540748588929,"ns_err":0.9323441074739552,"bop":0.04272509460838218},{"b":"JsoniterBench.jMiss","p":"size=64","ns":144.76419874343148,"ns_err":3.4957501606326233,"bop":0.004153069259130096},{"b":"JsoniterBench.jMiss","p":"size=8","ns":147.5253873811551,"ns_err":3.698410112647214,"bop":0.0014666604102226129},{"b":"JsoniterBench.jModifyId","p":"size=512","ns":2658.904681797669,"ns_err":5.957624924174246,"bop":41920.75613794952},{"b":"JsoniterBench.jModifyId","p":"size=64","ns":249.51146353782946,"ns_err":11.597463763604145,"bop":5328.007153968703},{"b":"JsoniterBench.jModifyId","p":"size=8","ns":80.94798291112019,"ns_err":2.62543117868041,"bop":984.0008079333467},{"b":"JsoniterBench.jReadId","p":"size=512","ns":28.676315018246676,"ns_err":1.815727196755042,"bop":48.008155149760306},{"b":"JsoniterBench.jReadId","p":"size=64","ns":28.59066579271736,"ns_err":1.9619819210711542,"bop":48.000820243726565},{"b":"JsoniterBench.jReadId","p":"size=8","ns":28.538464676283375,"ns_err":2.000877140088238,"bop":48.00028476099914},{"b":"JsoniterBench.jReadStreet","p":"size=512","ns":160.43279614739785,"ns_err":0.592479870300348,"bop":128.04562198921425},{"b":"JsoniterBench.jReadStreet","p":"size=64","ns":159.86766683325175,"ns_err":5.002723540339336,"bop":136.00458625658467},{"b":"JsoniterBench.jReadStreet","p":"size=8","ns":162.98202765435082,"ns_err":2.764691033765508,"bop":136.00162695639926},{"b":"JsoniterBench.jReplaceId","p":"size=512","ns":2658.687282560265,"ns_err":8.000912989812823,"bop":41896.75609973162},{"b":"JsoniterBench.jReplaceId","p":"size=64","ns":241.9496070564717,"ns_err":7.050468487409346,"bop":5296.006936990283},{"b":"JsoniterBench.jReplaceId","p":"size=8","ns":78.55706438146622,"ns_err":0.40646839912401733,"bop":936.0007841933003},{"b":"JsoniterBench.jSumPrices","p":"size=512","ns":68238.03851390883,"ns_err":140.74185351162834,"bop":63670.47864260234},{"b":"JsoniterBench.jSumPrices","p":"size=64","ns":8306.805325677475,"ns_err":21.506886159042516,"bop":8120.238456199064},{"b":"JsoniterBench.jSumPrices","p":"size=8","ns":1111.7915762808125,"ns_err":6.52822195418806,"bop":1176.0110981190599},{"b":"KyoDiBench.eoEnvFocus","p":"-","ns":51.777995117776,"ns_err":0.6691137094849169,"bop":312.00036352333547},{"b":"KyoDiBench.eoMapDrillModify","p":"-","ns":32.663431438018065,"ns_err":1.3973899178249978,"bop":216.00022907715345},{"b":"KyoDiBench.eoMapGet","p":"-","ns":1.9018199810354823,"ns_err":0.0026610845618235627,"bop":1.3270090118292464e-05},{"b":"KyoDiBench.eoVarUpdateFocus","p":"-","ns":40.30605799710915,"ns_err":0.22623325974522637,"bop":200.0002830515804},{"b":"KyoDiBench.handEnvUse","p":"-","ns":50.07152857630678,"ns_err":0.07147727560259545,"bop":304.00035142778614},{"b":"KyoDiBench.handMapDrillModify","p":"-","ns":26.955691786522056,"ns_err":0.5609323348759806,"bop":216.00018907997503},{"b":"KyoDiBench.handMapGet","p":"-","ns":1.553251307291049,"ns_err":0.0033771183150577964,"bop":1.0834730197201102e-05},{"b":"KyoDiBench.handVarUpdate","p":"-","ns":38.247028370502896,"ns_err":2.262301654011298,"bop":184.00026860349263},{"b":"LensBench.eoGet","p":"-","ns":0.7927332349931608,"ns_err":0.006720904664911256,"bop":5.531333379796086e-06},{"b":"LensBench.eoModify","p":"-","ns":3.079376374448087,"ns_err":0.005564841145693163,"bop":40.00002160666142},{"b":"LensBench.eoModifyDeep","p":"-","ns":29.846916602369323,"ns_err":0.5939535237350916,"bop":152.00020954702572},{"b":"LensBench.eoReplace","p":"-","ns":2.7014681927083024,"ns_err":0.0040949769371053015,"bop":40.000018968605055},{"b":"LensBench.mGet","p":"-","ns":0.8817238771871309,"ns_err":0.0021700399184798897,"bop":6.159809667294668e-06},{"b":"LensBench.mModify","p":"-","ns":3.4231153970771393,"ns_err":0.007427140423074579,"bop":40.000024025791355},{"b":"LensBench.mModifyDeep","p":"-","ns":23.215407238924147,"ns_err":0.04682860039554603,"bop":176.00016303252042},{"b":"LensBench.mReplace","p":"-","ns":2.637591339900416,"ns_err":0.008242231643636988,"bop":40.00001852320073},{"b":"MultiFocusBench.eoFold_powerEach","p":"size=1024","ns":12832.41845653185,"ns_err":336.6061465121533,"bop":43035.331617744494},{"b":"MultiFocusBench.eoFold_powerEach","p":"size=256","ns":2872.0562666781166,"ns_err":51.476488413567296,"bop":9240.196813520954},{"b":"MultiFocusBench.eoFold_powerEach","p":"size=32","ns":299.38897768191924,"ns_err":1.5804937299190036,"bop":920.0043501210132},{"b":"MultiFocusBench.eoFold_powerEach","p":"size=4","ns":60.75587886333092,"ns_err":0.31235245054515753,"bop":328.00048742620544},{"b":"MultiFocusBench.eoModify_multiFocus","p":"size=1024","ns":43998.18330195988,"ns_err":212.8969644147722,"bop":331141.2895447776},{"b":"MultiFocusBench.eoModify_multiFocus","p":"size=256","ns":10230.874400786743,"ns_err":46.93086451721897,"bop":76112.70124434568},{"b":"MultiFocusBench.eoModify_multiFocus","p":"size=32","ns":1066.2760114865487,"ns_err":1.7168198883041539,"bop":8600.015477576606},{"b":"MultiFocusBench.eoModify_multiFocus","p":"size=4","ns":159.78846612496966,"ns_err":1.1464766628194134,"bop":1320.0012819456058},{"b":"MultiFocusBench.eoModify_powerEach","p":"size=1024","ns":30250.982604701345,"ns_err":423.07325305226584,"bop":115175.85486863936},{"b":"MultiFocusBench.eoModify_powerEach","p":"size=256","ns":7049.119512982249,"ns_err":35.29106553362728,"bop":26080.48309437436},{"b":"MultiFocusBench.eoModify_powerEach","p":"size=32","ns":793.3542203162559,"ns_err":0.9124390938439747,"bop":3152.011517464662},{"b":"MultiFocusBench.eoModify_powerEach","p":"size=4","ns":143.6749080287748,"ns_err":0.2573579655009443,"bop":800.0011526501555},{"b":"MultiFocusBench.naive_listMap","p":"size=1024","ns":7723.930488203745,"ns_err":42.75543739916608,"bop":65578.00539073178},{"b":"MultiFocusBench.naive_listMap","p":"size=256","ns":1982.8009384548182,"ns_err":8.779212211897015,"bop":16424.13587040862},{"b":"MultiFocusBench.naive_listMap","p":"size=32","ns":212.88459277581757,"ns_err":0.18500622394000726,"bop":2088.0030899556955},{"b":"MultiFocusBench.naive_listMap","p":"size=4","ns":30.541016096181558,"ns_err":0.0703679380000024,"bop":296.000244878082},{"b":"MultiFocusBench.naive_sumQty","p":"size=1024","ns":3739.4192351697557,"ns_err":76.9222701572047,"bop":16128.970760300639},{"b":"MultiFocusBench.naive_sumQty","p":"size=256","ns":680.7297445646137,"ns_err":45.06820392206728,"bop":3840.046647154052},{"b":"MultiFocusBench.naive_sumQty","p":"size=32","ns":49.85120565604443,"ns_err":0.05298000171236028,"bop":256.0007233664818},{"b":"MultiFocusBench.naive_sumQty","p":"size=4","ns":5.539827963270219,"ns_err":0.038992799852694146,"bop":4.42297847854353e-05},{"b":"MultiFocusCollectBench.eoCollectList_listSum","p":"-","ns":52.85366312276334,"ns_err":0.08860723788620523,"bop":56.00037111589449},{"b":"MultiFocusCollectBench.eoCollectMap_constSum","p":"-","ns":1.5239954709365666,"ns_err":0.0048219714616541355,"bop":1.0633644938824557e-05},{"b":"MultiFocusCollectBench.eoCollectMap_zipMean","p":"-","ns":146.76359452300275,"ns_err":0.21508347153661186,"bop":880.00103058117},{"b":"MultiFocusCollectBench.eoModify_multiFocusTuple3","p":"-","ns":13.04310695195678,"ns_err":0.15475373616293636,"bop":128.0000915673552},{"b":"MultiFocusCollectBench.eoModify_multiFocusTuple6","p":"-","ns":21.407979762710067,"ns_err":0.03852097666366245,"bop":224.0001502081469},{"b":"MultiFocusCollectBench.naive_constSum","p":"-","ns":1.4218725592743668,"ns_err":0.0010570505118772766,"bop":16.000009982519575},{"b":"MultiFocusCollectBench.naive_listSum","p":"-","ns":25.682755257487447,"ns_err":0.07100636881345324,"bop":56.00018036594153},{"b":"MultiFocusCollectBench.naive_tuple3Rewrite","p":"-","ns":6.238717296018227,"ns_err":0.02313850204627982,"bop":96.00004378712019},{"b":"MultiFocusCollectBench.naive_tuple6Rewrite","p":"-","ns":11.405741501454072,"ns_err":0.009238175443627355,"bop":184.00008009637494},{"b":"MultiFocusCollectBench.naive_zipMeanBroadcast","p":"-","ns":127.40485958461518,"ns_err":0.18370128274436123,"bop":1176.0008947367778},{"b":"OpticBuildBench.build","p":"-","ns":36.66497163595215,"ns_err":0.3347449233513012,"bop":184.00030402076862},{"b":"OpticBuildBench.buildAndUse","p":"-","ns":793.3478371080129,"ns_err":3.538864454170757,"bop":2816.006280332106},{"b":"OpticBuildBench.reuseUse","p":"-","ns":759.8854787853832,"ns_err":24.529818425516513,"bop":2672.0053349945433},{"b":"OptionalBench.eoModify_0","p":"-","ns":19.700885214299962,"ns_err":3.0305820257293163,"bop":112.00013832001918},{"b":"OptionalBench.eoModify_0_empty","p":"-","ns":0.9656034073088586,"ns_err":0.0012947622403722922,"bop":6.7497232589572915e-06},{"b":"OptionalBench.eoModify_3","p":"-","ns":47.38911499936406,"ns_err":0.2318084836515301,"bop":160.00033280235468},{"b":"OptionalBench.eoModify_6","p":"-","ns":114.02495488526577,"ns_err":0.18362800175805746,"bop":208.00080030092914},{"b":"OptionalBench.eoModify_loyalty","p":"-","ns":13.409652705648876,"ns_err":0.02556381637444997,"bop":112.00009417458264},{"b":"OptionalBench.eoModify_loyalty_empty","p":"-","ns":1.0792628059340268,"ns_err":0.003076541180110065,"bop":7.5445084396593696e-06},{"b":"OptionalBench.eoReplace_0","p":"-","ns":3.5240852912019838,"ns_err":0.006477671136556915,"bop":40.00002472652846},{"b":"OptionalBench.eoReplace_loyalty","p":"-","ns":5.985005757720854,"ns_err":0.017515856384258684,"bop":88.00004203181531},{"b":"OptionalBench.mModify_0","p":"-","ns":17.583833740207368,"ns_err":0.024599670928627377,"bop":112.00012345129656},{"b":"OptionalBench.mModify_0_empty","p":"-","ns":1.092570285343151,"ns_err":0.0005285967033907679,"bop":7.636998891195554e-06},{"b":"OptionalBench.mModify_3","p":"-","ns":52.62077792086936,"ns_err":0.08481933907778864,"bop":304.00036931673156},{"b":"OptionalBench.mModify_6","p":"-","ns":86.78201503812943,"ns_err":0.3090924767310724,"bop":496.0006092757332},{"b":"OptionalBench.mModify_loyalty","p":"-","ns":13.008948822605864,"ns_err":0.09054529800634026,"bop":112.00009130564034},{"b":"OptionalBench.mModify_loyalty_empty","p":"-","ns":1.183287517380872,"ns_err":0.003546386836379127,"bop":8.264025302715212e-06},{"b":"OptionalBench.mReplace_0","p":"-","ns":2.863634648557659,"ns_err":0.007609152064811283,"bop":40.00002010504794},{"b":"OptionalBench.mReplace_loyalty","p":"-","ns":5.896955963712584,"ns_err":0.019677792639867138,"bop":88.0000414014278},{"b":"OrderAvroBench.eoModifyNames","p":"size=512","ns":26891.298559946816,"ns_err":206.37792518301492,"bop":97406.30522919002},{"b":"OrderAvroBench.eoModifyNames","p":"size=64","ns":3291.0191147496025,"ns_err":9.048112992298968,"bop":12584.114805753803},{"b":"OrderAvroBench.eoModifyNames","p":"size=8","ns":442.590344340841,"ns_err":3.031740114705124,"bop":2048.0047462391112},{"b":"OrderAvroBench.eoModifyStreet","p":"size=512","ns":93.25902469997887,"ns_err":0.5816813170642263,"bop":328.022318608488},{"b":"OrderAvroBench.eoModifyStreet","p":"size=64","ns":93.22176059359157,"ns_err":0.5631236840676251,"bop":328.0032543798981},{"b":"OrderAvroBench.eoModifyStreet","p":"size=8","ns":98.22781305898893,"ns_err":8.339923673718655,"bop":328.0010536132479},{"b":"OrderAvroBench.eoReadStreet","p":"size=512","ns":26.8574850180761,"ns_err":0.0912347482928183,"bop":88.00642763328999},{"b":"OrderAvroBench.eoReadStreet","p":"size=64","ns":27.16249553416791,"ns_err":0.6863221217446683,"bop":88.00094814070054},{"b":"OrderAvroBench.eoReadStreet","p":"size=8","ns":27.373975234116852,"ns_err":0.8353877550960781,"bop":88.00029362393592},{"b":"OrderAvroBench.monocleModifyNames","p":"size=512","ns":79596.4121944128,"ns_err":177.95050247869543,"bop":382782.6083777706},{"b":"OrderAvroBench.monocleModifyNames","p":"size=64","ns":7998.764142741103,"ns_err":396.6741076086062,"bop":39848.2705541287},{"b":"OrderAvroBench.monocleModifyNames","p":"size=8","ns":1059.631445515294,"ns_err":42.772897523697274,"bop":5416.011188058158},{"b":"OrderAvroBench.monocleModifyStreet","p":"size=512","ns":43496.63385436877,"ns_err":303.0068900349444,"bop":169079.01131810088},{"b":"OrderAvroBench.monocleModifyStreet","p":"size=64","ns":5374.026588394155,"ns_err":424.13442719642745,"bop":20896.18176442904},{"b":"OrderAvroBench.monocleModifyStreet","p":"size=8","ns":695.2637668982542,"ns_err":5.1470361142596115,"bop":2992.0073408281364},{"b":"OrderAvroBench.monocleReadStreet","p":"size=512","ns":26958.227644907493,"ns_err":242.9189288891558,"bop":69784.66444980334},{"b":"OrderAvroBench.monocleReadStreet","p":"size=64","ns":3442.99314701263,"ns_err":17.324423633843722,"bop":8848.12035280116},{"b":"OrderAvroBench.monocleReadStreet","p":"size=8","ns":386.91681607764707,"ns_err":1.3185227711409826,"bop":1208.004163871842},{"b":"OrderAvroBench.naiveModifyNames","p":"size=512","ns":54911.22612020489,"ns_err":174.80644162193963,"bop":226293.59741837374},{"b":"OrderAvroBench.naiveModifyNames","p":"size=64","ns":6696.849834133407,"ns_err":407.9205619876481,"bop":27928.226581945248},{"b":"OrderAvroBench.naiveModifyNames","p":"size=8","ns":829.91350162983,"ns_err":4.574558972580746,"bop":3752.00876064366},{"b":"OrderAvroBench.naiveModifyStreet","p":"size=512","ns":43090.32105626543,"ns_err":973.7692523452473,"bop":169055.92738116678},{"b":"OrderAvroBench.naiveModifyStreet","p":"size=64","ns":5387.62050403103,"ns_err":410.56556348148644,"bop":20872.18217635561},{"b":"OrderAvroBench.naiveModifyStreet","p":"size=8","ns":691.780094051824,"ns_err":2.851608156644359,"bop":2968.00730403882},{"b":"OrderAvroBench.naiveReadStreet","p":"size=512","ns":26924.90853614199,"ns_err":201.0519366107884,"bop":69784.4730256166},{"b":"OrderAvroBench.naiveReadStreet","p":"size=64","ns":3446.0644650409836,"ns_err":17.1949373472177,"bop":8848.12033445903},{"b":"OrderAvroBench.naiveReadStreet","p":"size=8","ns":388.41559804335304,"ns_err":4.253905318570606,"bop":1208.0041662519873},{"b":"OrderCirceBench.directNames","p":"size=512","ns":173434.85439146866,"ns_err":2166.7241022484186,"bop":613939.0300893175},{"b":"OrderCirceBench.directNames","p":"size=64","ns":21739.829304562587,"ns_err":772.9133562124749,"bop":77194.29138391528},{"b":"OrderCirceBench.directNames","p":"size=8","ns":2860.7619235087136,"ns_err":17.454942147033776,"bop":10688.062239977004},{"b":"OrderCirceBench.directStreet","p":"size=512","ns":744.6368373433278,"ns_err":8.46736214633397,"bop":2744.587771463821},{"b":"OrderCirceBench.directStreet","p":"size=64","ns":770.5924192718279,"ns_err":8.152852338549414,"bop":2728.0800547660483},{"b":"OrderCirceBench.directStreet","p":"size=8","ns":756.656635959774,"ns_err":4.4342696296983295,"bop":2728.0163527759055},{"b":"OrderCirceBench.eoNames","p":"size=512","ns":172696.31719868642,"ns_err":1454.2885933007074,"bop":605770.422928846},{"b":"OrderCirceBench.eoNames","p":"size=64","ns":22092.348287704073,"ns_err":770.6077659584469,"bop":78778.3278724772},{"b":"OrderCirceBench.eoNames","p":"size=8","ns":2966.3476297471084,"ns_err":29.287382886521126,"bop":10944.065112256572},{"b":"OrderCirceBench.eoNamesIor","p":"size=512","ns":180203.01564190505,"ns_err":2165.1140280394047,"bop":683488.4376323314},{"b":"OrderCirceBench.eoNamesIor","p":"size=64","ns":23250.450030795448,"ns_err":255.76342225193454,"bop":87530.38321277637},{"b":"OrderCirceBench.eoNamesIor","p":"size=8","ns":3066.149006633485,"ns_err":35.90701096997218,"bop":11592.066718817592},{"b":"OrderCirceBench.eoStreet","p":"size=512","ns":758.9103875847684,"ns_err":8.382643198608278,"bop":2720.599031260581},{"b":"OrderCirceBench.eoStreet","p":"size=64","ns":751.5945607602832,"ns_err":10.033434633103141,"bop":2720.078057535926},{"b":"OrderCirceBench.eoStreet","p":"size=8","ns":754.4780165865983,"ns_err":6.693113447352998,"bop":2720.016331032439},{"b":"OrderCirceBench.eoStreetIor","p":"size=512","ns":755.3201976809363,"ns_err":5.967295603406131,"bop":2736.5961997913087},{"b":"OrderCirceBench.eoStreetIor","p":"size=64","ns":757.1380515579115,"ns_err":7.905493820660224,"bop":2736.0788243133316},{"b":"OrderCirceBench.eoStreetIor","p":"size=8","ns":752.314836922441,"ns_err":6.488491385595242,"bop":2736.016280626127},{"b":"OrderCirceBench.hcursorNames","p":"size=512","ns":172674.7048404859,"ns_err":595.2098143902223,"bop":609834.4066591931},{"b":"OrderCirceBench.hcursorNames","p":"size=64","ns":21053.18485122981,"ns_err":206.21437328320482,"bop":77778.21843352463},{"b":"OrderCirceBench.hcursorNames","p":"size=8","ns":2928.3706194207243,"ns_err":49.134096159086894,"bop":10696.064549783017},{"b":"OrderCirceBench.hcursorStreet","p":"size=512","ns":786.8217074032295,"ns_err":6.139075187922687,"bop":3032.6210291883276},{"b":"OrderCirceBench.hcursorStreet","p":"size=64","ns":797.9903467457224,"ns_err":26.081771572028654,"bop":3032.082930826265},{"b":"OrderCirceBench.hcursorStreet","p":"size=8","ns":793.2186183533126,"ns_err":7.175313699006527,"bop":3032.017423233994},{"b":"OrderCirceBench.monocleNames","p":"size=512","ns":176456.18430035826,"ns_err":1095.973144922564,"bop":1121726.5511271183},{"b":"OrderCirceBench.monocleNames","p":"size=64","ns":19087.58683481576,"ns_err":32.048294091347444,"bop":132751.04076525106},{"b":"OrderCirceBench.monocleNames","p":"size=8","ns":2844.552415230217,"ns_err":15.11867433931097,"bop":19514.721148684366},{"b":"OrderCirceBench.monocleStreet","p":"size=512","ns":132970.72313884913,"ns_err":885.3438183854723,"bop":908004.0035041401},{"b":"OrderCirceBench.monocleStreet","p":"size=64","ns":16323.79158431012,"ns_err":32.49229089153216,"bop":113820.13226302844},{"b":"OrderCirceBench.monocleStreet","p":"size=8","ns":2412.500518338939,"ns_err":5.961339256735688,"bop":17053.37953775043},{"b":"OrderCirceBench.naiveNames","p":"size=512","ns":144378.53693619702,"ns_err":1138.162867933048,"bop":965230.3553787568},{"b":"OrderCirceBench.naiveNames","p":"size=64","ns":17638.453946874568,"ns_err":49.44036762210725,"bop":120852.24481304805},{"b":"OrderCirceBench.naiveNames","p":"size=8","ns":2549.620853194672,"ns_err":5.659058737041012,"bop":17813.38217003699},{"b":"OrderCirceBench.naiveStreet","p":"size=512","ns":133744.66192633577,"ns_err":794.3142220252037,"bop":908020.5448722953},{"b":"OrderCirceBench.naiveStreet","p":"size=64","ns":16364.48046067088,"ns_err":40.54701887636891,"bop":113769.46594942523},{"b":"OrderCirceBench.naiveStreet","p":"size=8","ns":2412.8751005288964,"ns_err":11.838645092394064,"bop":17040.04620382758},{"b":"OrderJsoniterBench.eoModifyStreet","p":"size=512","ns":2837.74931074636,"ns_err":5.2291670365499145,"bop":42026.530215173756},{"b":"OrderJsoniterBench.eoModifyStreet","p":"size=64","ns":381.9608093304677,"ns_err":3.0461275496390736,"bop":5432.044376778223},{"b":"OrderJsoniterBench.eoModifyStreet","p":"size=8","ns":229.60441319283228,"ns_err":0.4977209004530574,"bop":1072.0052850566074},{"b":"OrderJsoniterBench.eoReadStreet","p":"size=512","ns":161.91900262836543,"ns_err":1.966118564875295,"bop":109.47888673260918},{"b":"OrderJsoniterBench.eoReadStreet","p":"size=64","ns":162.15942660692,"ns_err":0.7657704145820561,"bop":128.01883908774184},{"b":"OrderJsoniterBench.eoReadStreet","p":"size=8","ns":161.16416619748745,"ns_err":2.850446743379029,"bop":72.00370802407971},{"b":"OrderJsoniterBench.eoSumPrices","p":"size=512","ns":67638.3641302421,"ns_err":959.086764644837,"bop":63712.477376210205},{"b":"OrderJsoniterBench.eoSumPrices","p":"size=64","ns":8243.177201519109,"ns_err":45.56802313127422,"bop":8120.953753441817},{"b":"OrderJsoniterBench.eoSumPrices","p":"size=8","ns":1113.9831861164453,"ns_err":4.2150229411347615,"bop":1176.0256418208414},{"b":"OrderJsoniterBench.monocleModifyStreet","p":"size=512","ns":127045.69412429,"ns_err":667.2813722141009,"bop":333562.6735717506},{"b":"OrderJsoniterBench.monocleModifyStreet","p":"size=64","ns":15368.014998673865,"ns_err":51.227736493267386,"bop":30081.54804474196},{"b":"OrderJsoniterBench.monocleModifyStreet","p":"size=8","ns":2517.241514148084,"ns_err":13.004557893514908,"bop":4664.053115378085},{"b":"OrderJsoniterBench.monocleReadStreet","p":"size=512","ns":72222.43692059017,"ns_err":657.5427051579745,"bop":193213.83230089812},{"b":"OrderJsoniterBench.monocleReadStreet","p":"size=64","ns":9175.535982661724,"ns_err":45.50451815727874,"bop":24704.93833478472},{"b":"OrderJsoniterBench.monocleReadStreet","p":"size=8","ns":1399.3822648836103,"ns_err":13.346227922758594,"bop":3648.029800876716},{"b":"OrderJsoniterBench.monocleSumPrices","p":"size=512","ns":346613.1128457782,"ns_err":1052.4784723873233,"bop":1190680.6798328469},{"b":"OrderJsoniterBench.monocleSumPrices","p":"size=64","ns":12607.480471717821,"ns_err":33.78035142336423,"bop":47387.956364971666},{"b":"OrderJsoniterBench.monocleSumPrices","p":"size=8","ns":1923.6077550824657,"ns_err":12.311644139533506,"bop":6640.040924216949},{"b":"OrderJsoniterBench.naiveModifyStreet","p":"size=512","ns":127107.65442731716,"ns_err":857.4783511686578,"bop":333537.67855737003},{"b":"OrderJsoniterBench.naiveModifyStreet","p":"size=64","ns":15458.45488087981,"ns_err":141.17550631742535,"bop":30057.557000706853},{"b":"OrderJsoniterBench.naiveModifyStreet","p":"size=8","ns":2509.864490522822,"ns_err":7.363883482429984,"bop":4640.052975750816},{"b":"OrderJsoniterBench.naiveReadStreet","p":"size=512","ns":72131.88593536742,"ns_err":476.1876208224893,"bop":193213.7505976301},{"b":"OrderJsoniterBench.naiveReadStreet","p":"size=64","ns":9137.658312489015,"ns_err":98.58892537672575,"bop":24704.934551371985},{"b":"OrderJsoniterBench.naiveReadStreet","p":"size=8","ns":1395.61713427747,"ns_err":5.691719117104034,"bop":3648.0297103278194},{"b":"OrderJsoniterBench.naiveSumPrices","p":"size=512","ns":76418.57293969952,"ns_err":826.8809552229169,"bop":230105.41099452096},{"b":"OrderJsoniterBench.naiveSumPrices","p":"size=64","ns":9617.527586494061,"ns_err":41.94903865301289,"bop":29336.983888597577},{"b":"OrderJsoniterBench.naiveSumPrices","p":"size=8","ns":1464.3417689440705,"ns_err":12.397541344823669,"bop":4248.031160702605},{"b":"OrderJsoniterBench.nativeReadStreet","p":"size=512","ns":27504.243274737724,"ns_err":1383.0479813879824,"bop":446.80958413925566},{"b":"OrderJsoniterBench.nativeReadStreet","p":"size=64","ns":3794.2183326969944,"ns_err":131.63741366295753,"bop":424.40991932874414},{"b":"OrderJsoniterBench.nativeReadStreet","p":"size=8","ns":674.7587574004431,"ns_err":4.766102038145973,"bop":424.014575078288},{"b":"OrderJsoniterBench.nativeSumPrices","p":"size=512","ns":50756.259844049746,"ns_err":203.66719547524326,"bop":86268.26167851982},{"b":"OrderJsoniterBench.nativeSumPrices","p":"size=64","ns":6238.728626003703,"ns_err":15.799351665430185,"bop":10920.67437973523},{"b":"OrderJsoniterBench.nativeSumPrices","p":"size=8","ns":912.1337330959502,"ns_err":2.485889938705037,"bop":1512.0197388695206},{"b":"PlatedBench.eoTransformDeep","p":"n=4096","ns":98230.87852588379,"ns_err":652.3175342922691,"bop":624367.4999194489},{"b":"PlatedBench.eoTransformDeep","p":"n=512","ns":10238.264331052393,"ns_err":44.70470833001172,"bop":57361.04550139318},{"b":"PlatedBench.eoTransformDeep","p":"n=64","ns":1133.9184202912427,"ns_err":6.0462946797804715,"bop":7184.021957539804},{"b":"PlatedBench.eoTransformExpr","p":"n=4096","ns":102584.77638792442,"ns_err":350.7473052280558,"bop":655338.6688227662},{"b":"PlatedBench.eoTransformExpr","p":"n=512","ns":12655.184463303174,"ns_err":30.184829397624476,"bop":81825.29221417928},{"b":"PlatedBench.eoTransformExpr","p":"n=64","ns":1560.2925557694546,"ns_err":2.6538807575535777,"bop":10144.031893936022},{"b":"PlatedBench.eoUniverseDeep","p":"n=4096","ns":101411.19667858513,"ns_err":2959.771229924505,"bop":786577.8131613525},{"b":"PlatedBench.eoUniverseDeep","p":"n=512","ns":12640.872870001047,"ns_err":38.903703987103874,"bop":98377.29108683935},{"b":"PlatedBench.eoUniverseDeep","p":"n=64","ns":1510.4064294824639,"ns_err":2.0638915322778226,"bop":12360.029277587555},{"b":"PlatedBench.eoUniverseExpr","p":"n=4096","ns":96801.24365377313,"ns_err":758.2184095520915,"bop":786382.4597243861},{"b":"PlatedBench.eoUniverseExpr","p":"n=512","ns":12228.890634218982,"ns_err":22.67541836959963,"bop":98185.25576306546},{"b":"PlatedBench.eoUniverseExpr","p":"n=64","ns":1471.2416196468914,"ns_err":3.5065484131140474,"bop":12168.029158645926},{"b":"PlatedBench.eoUniverseJson","p":"n=4096","ns":186596.94901951044,"ns_err":3480.052832064276,"bop":786447.8070130384},{"b":"PlatedBench.eoUniverseJson","p":"n=512","ns":20968.450495285746,"ns_err":70.12627817971024,"bop":98186.14131198064},{"b":"PlatedBench.eoUniverseJson","p":"n=64","ns":2454.9900243388133,"ns_err":4.780234874944559,"bop":12168.04863245406},{"b":"PlatedBench.mTransformExpr","p":"n=4096","ns":134250.00804569462,"ns_err":127.22927059141729,"bop":753713.715296758},{"b":"PlatedBench.mTransformExpr","p":"n=512","ns":12588.795678173832,"ns_err":30.300027593737713,"bop":69585.28559150684},{"b":"PlatedBench.mTransformExpr","p":"n=64","ns":2058.4343960330107,"ns_err":2.7936342999685864,"bop":11728.039865658719},{"b":"PlatedBench.mUniverseExpr","p":"n=4096","ns":2261662.3301137825,"ns_err":201336.26051159482,"bop":4687324.714360473},{"b":"PlatedBench.mUniverseExpr","p":"n=512","ns":127478.50175445802,"ns_err":7966.878312291533,"bop":475005.0938455591},{"b":"PlatedBench.mUniverseExpr","p":"n=64","ns":11213.487839682186,"ns_err":35.68719333961559,"bop":45424.21738486436},{"b":"PlatedBench.mUniverseJson","p":"n=4096","ns":2485508.690461113,"ns_err":197941.2201003976,"bop":6489350.646647937},{"b":"PlatedBench.mUniverseJson","p":"n=512","ns":151652.69081406563,"ns_err":871.6271813592278,"bop":699911.486780999},{"b":"PlatedBench.mUniverseJson","p":"n=64","ns":14457.222465683828,"ns_err":95.7581595672956,"bop":73208.28169702762},{"b":"PlatedBench.visitorTransformDeep","p":"n=4096","ns":35804.632662505675,"ns_err":515.5860537439173,"bop":163882.06266329184},{"b":"PlatedBench.visitorTransformDeep","p":"n=512","ns":3499.6951331270984,"ns_err":54.985385025046234,"bop":20496.3572396254},{"b":"PlatedBench.visitorTransformDeep","p":"n=64","ns":345.4965380982925,"ns_err":0.6448482464057681,"bop":2576.006693096436},{"b":"PlatedBench.visitorTransformExpr","p":"n=4096","ns":52289.39889284434,"ns_err":241.1302430695771,"bop":360462.0616404096},{"b":"PlatedBench.visitorTransformExpr","p":"n=512","ns":6467.174895913074,"ns_err":21.78046619572617,"bop":45032.660331005034},{"b":"PlatedBench.visitorTransformExpr","p":"n=64","ns":789.0045552132492,"ns_err":1.3502000486087722,"bop":5608.01527867951},{"b":"PlatedBench.visitorUniverseDeep","p":"n=4096","ns":46897.27844587083,"ns_err":935.5560930452957,"bop":196698.1368279284},{"b":"PlatedBench.visitorUniverseDeep","p":"n=512","ns":5627.338972354323,"ns_err":22.651139759161865,"bop":24632.574546256747},{"b":"PlatedBench.visitorUniverseDeep","p":"n=64","ns":616.8512406236017,"ns_err":5.801086809864033,"bop":3128.012234717474},{"b":"PlatedBench.visitorUniverseExpr","p":"n=4096","ns":44867.293090513595,"ns_err":889.4315170869918,"bop":196648.6594492211},{"b":"PlatedBench.visitorUniverseExpr","p":"n=512","ns":5466.0605449159475,"ns_err":10.202281768493902,"bop":24584.558072648048},{"b":"PlatedBench.visitorUniverseExpr","p":"n=64","ns":628.9414365085162,"ns_err":1.1343716025308717,"bop":3080.0121998079135},{"b":"PlatedBench.visitorUniverseJson","p":"n=4096","ns":148780.60781035593,"ns_err":2978.9980045104126,"bop":524372.28922012},{"b":"PlatedBench.visitorUniverseJson","p":"n=512","ns":16372.558155166878,"ns_err":58.33744218622853,"bop":40953.67202167092},{"b":"PlatedBench.visitorUniverseJson","p":"n=64","ns":1577.3810758209545,"ns_err":36.470710309740916,"bop":4424.03065353579},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=1024","ns":10585.796487962092,"ns_err":74.06204642099542,"bop":41413.014432021504},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=16","ns":208.6317894373494,"ns_err":1.3129452666444597,"bop":1088.0029510712882},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=256","ns":2657.0678351589213,"ns_err":44.40506794907874,"bop":10688.425499464583},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=4","ns":90.20738469340797,"ns_err":0.3680836130805681,"bop":608.0008632635513},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=4096","ns":42049.12873479231,"ns_err":1185.64038216259,"bop":164356.54570975414},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=64","ns":629.360984393922,"ns_err":7.768067454060609,"bop":3008.0209694618693},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=1024","ns":46192.471697677756,"ns_err":317.17917174754206,"bop":279423.39737754234},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=16","ns":460.2088118417639,"ns_err":25.513795426244297,"bop":3736.0064333234714},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=256","ns":16615.616938744653,"ns_err":99.67081343036605,"bop":107338.56127875582},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=4","ns":181.54415391112641,"ns_err":0.40347099871628417,"bop":1176.0017550478217},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=4096","ns":141577.02526022014,"ns_err":3519.3122093366937,"bop":967782.5444522757},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=64","ns":1707.1204494798417,"ns_err":22.55708229544119,"bop":14520.054105530326},{"b":"PowerSeriesBench.naive_powerEach","p":"size=1024","ns":4418.39332968988,"ns_err":16.167461380162802,"bop":28730.093897643816},{"b":"PowerSeriesBench.naive_powerEach","p":"size=16","ns":83.4711318041968,"ns_err":0.24210530660676044,"bop":504.00120071422697},{"b":"PowerSeriesBench.naive_powerEach","p":"size=256","ns":1328.651116511502,"ns_err":6.9646871561246675,"bop":7224.213021326394},{"b":"PowerSeriesBench.naive_powerEach","p":"size=4","ns":20.660986277420488,"ns_err":0.047556731928376,"bop":168.0002028080334},{"b":"PowerSeriesBench.naive_powerEach","p":"size=4096","ns":17545.40950309471,"ns_err":72.56812308945686,"bop":114772.59756267906},{"b":"PowerSeriesBench.naive_powerEach","p":"size=64","ns":328.45191083026725,"ns_err":0.9478910197103678,"bop":1848.0110185806395},{"b":"PowerSeriesNestedBench.eoModify_nested","p":"size=1024","ns":58627.13730062363,"ns_err":831.1073293260174,"bop":210442.72039547257},{"b":"PowerSeriesNestedBench.eoModify_nested","p":"size=16","ns":1092.044840104698,"ns_err":21.640953002501337,"bop":4744.040539597512},{"b":"PowerSeriesNestedBench.eoModify_nested","p":"size=256","ns":15108.822726653152,"ns_err":40.84114609634377,"bop":53753.47257650813},{"b":"PowerSeriesNestedBench.eoModify_nested","p":"size=4","ns":495.19613726323405,"ns_err":7.212245497632023,"bop":2240.0091223541986},{"b":"PowerSeriesNestedBench.eoModify_nested","p":"size=64","ns":3871.697149487908,"ns_err":17.35879695827885,"bop":14669.778454953124},{"b":"PowerSeriesNestedBench.monocle_nested","p":"size=1024","ns":189566.4461191784,"ns_err":2414.396634355236,"bop":1118745.0551417018},{"b":"PowerSeriesNestedBench.monocle_nested","p":"size=16","ns":2089.9546275154676,"ns_err":42.634900489096744,"bop":15776.075213624023},{"b":"PowerSeriesNestedBench.monocle_nested","p":"size=256","ns":69855.81479741333,"ns_err":201.88416979743695,"bop":430202.33283405507},{"b":"PowerSeriesNestedBench.monocle_nested","p":"size=4","ns":1010.0132934403973,"ns_err":73.27502696127176,"bop":5568.018441564098},{"b":"PowerSeriesNestedBench.monocle_nested","p":"size=64","ns":7605.410070211796,"ns_err":207.9434988146796,"bop":58907.49543238187},{"b":"PowerSeriesNestedBench.naive_nested","p":"size=1024","ns":18285.69212828823,"ns_err":225.66691803068275,"bop":115065.29689586288},{"b":"PowerSeriesNestedBench.naive_nested","p":"size=16","ns":298.53905959973156,"ns_err":4.155217201944488,"bop":2136.011353480118},{"b":"PowerSeriesNestedBench.naive_nested","p":"size=256","ns":4932.706948694335,"ns_err":9.867161995081013,"bop":29019.07149225612},{"b":"PowerSeriesNestedBench.naive_nested","p":"size=4","ns":109.31631588019805,"ns_err":6.950704309146814,"bop":792.0020580817846},{"b":"PowerSeriesNestedBench.naive_nested","p":"size=64","ns":1164.864376163475,"ns_err":10.510234588978136,"bop":7512.134348088792},{"b":"PowerSeriesPrismBench.eoModify_sparse","p":"size=128","ns":1075.4341791344411,"ns_err":32.025539716981214,"bop":4816.062484652365},{"b":"PowerSeriesPrismBench.eoModify_sparse","p":"size=2048","ns":20396.373727076065,"ns_err":707.7546399987136,"bop":104688.09042012523},{"b":"PowerSeriesPrismBench.eoModify_sparse","p":"size=32","ns":276.95085995092774,"ns_err":1.6143446823537464,"bop":1360.0055430651194},{"b":"PowerSeriesPrismBench.eoModify_sparse","p":"size=512","ns":4990.786932653805,"ns_err":19.828352789873605,"bop":24785.36957208996},{"b":"PowerSeriesPrismBench.eoModify_sparse","p":"size=8","ns":93.17104255676662,"ns_err":0.3477090210866218,"bop":496.00100022128737},{"b":"PowerSeriesPrismBench.monocle_sparse","p":"size=128","ns":3403.2409885714683,"ns_err":24.291688207007883,"bop":27784.17096183397},{"b":"PowerSeriesPrismBench.monocle_sparse","p":"size=2048","ns":78608.58071098867,"ns_err":2673.9680205965606,"bop":523132.679389455},{"b":"PowerSeriesPrismBench.monocle_sparse","p":"size=32","ns":809.1330389917786,"ns_err":36.60389617431462,"bop":7024.0148405136115},{"b":"PowerSeriesPrismBench.monocle_sparse","p":"size=512","ns":25613.15225976028,"ns_err":81.06158310115788,"bop":166679.38964467886},{"b":"PowerSeriesPrismBench.monocle_sparse","p":"size=8","ns":222.9958915326163,"ns_err":5.440177067503336,"bop":1952.00233377884},{"b":"PowerSeriesPrismBench.naive_sparse","p":"size=128","ns":245.0097339084147,"ns_err":0.48792174785407383,"bop":1568.0148999209184},{"b":"PowerSeriesPrismBench.naive_sparse","p":"size=2048","ns":4089.45030183347,"ns_err":17.91621293922071,"bop":24611.48656844476},{"b":"PowerSeriesPrismBench.naive_sparse","p":"size=32","ns":62.75686517685968,"ns_err":0.08451032535987582,"bop":416.00131655770645},{"b":"PowerSeriesPrismBench.naive_sparse","p":"size=512","ns":1029.42976219118,"ns_err":3.4675574207141526,"bop":6176.295333615484},{"b":"PowerSeriesPrismBench.naive_sparse","p":"size=8","ns":18.924537472902863,"ns_err":0.02834331974531535,"bop":128.00021116332601},{"b":"PrismBench.eoGetOptionAbsent","p":"-","ns":0.673933533183597,"ns_err":0.0029918652506638463,"bop":4.703893613406793e-06},{"b":"PrismBench.eoGetOptionPresent","p":"-","ns":0.6749431975553909,"ns_err":0.002636616850198367,"bop":4.706688226928261e-06},{"b":"PrismBench.eoGetRightAbsent","p":"-","ns":0.7930335609158425,"ns_err":0.0019669025471085056,"bop":5.541857938689933e-06},{"b":"PrismBench.eoGetRightPresent","p":"-","ns":1.9504295896875858,"ns_err":0.005830443157372817,"bop":16.000013693459046},{"b":"PrismBench.eoReverseGet","p":"-","ns":1.9413297673620724,"ns_err":0.00752209017458211,"bop":16.000013625529736},{"b":"PrismBench.eoRightReverseGet","p":"-","ns":1.942565442943462,"ns_err":0.0036571554286165537,"bop":16.000013638280112},{"b":"PrismBench.mGetOptionAbsent","p":"-","ns":0.7948716843862532,"ns_err":0.002872822652370958,"bop":5.542866109543456e-06},{"b":"PrismBench.mGetOptionPresent","p":"-","ns":0.7960303987135519,"ns_err":0.0023537455507347976,"bop":5.561116755443061e-06},{"b":"PrismBench.mGetRightAbsent","p":"-","ns":0.921997726603464,"ns_err":0.0016049389311756914,"bop":6.4411676817972005e-06},{"b":"PrismBench.mGetRightPresent","p":"-","ns":2.093998087921576,"ns_err":0.007411107203365259,"bop":16.000014696948714},{"b":"PrismBench.mReverseGet","p":"-","ns":2.012280529902098,"ns_err":0.006635567750219424,"bop":16.000014123382677},{"b":"PrismBench.mRightReverseGet","p":"-","ns":2.009398741615337,"ns_err":0.005661704285729937,"bop":16.00001411185483},{"b":"ReviewBench.eoReverseGet_0","p":"-","ns":1.9843258628886353,"ns_err":0.0052191090764881565,"bop":24.00001393166519},{"b":"ReviewBench.eoReverseGet_3","p":"-","ns":15.890061534140424,"ns_err":0.012211915957040763,"bop":72.00011155497054},{"b":"ReviewBench.eoReverseGet_6","p":"-","ns":27.663780095967965,"ns_err":0.07372204086171606,"bop":120.00019427831465},{"b":"ReviewBench.naiveBuild_0","p":"-","ns":1.8952496670905765,"ns_err":0.004673143302297085,"bop":24.000013302100278},{"b":"ReviewBench.naiveBuild_3","p":"-","ns":5.297722147087523,"ns_err":0.011325993706879353,"bop":72.00003719421268},{"b":"ReviewBench.naiveBuild_6","p":"-","ns":8.830340692052086,"ns_err":0.012836934319693637,"bop":120.00006201441548},{"b":"SchemesBench.drosteAna","p":"-","ns":35731.5204500091,"ns_err":68.29598542533093,"bop":327632.25266404386},{"b":"SchemesBench.drosteCata","p":"-","ns":31273.792037118874,"ns_err":115.58817455897275,"bop":164824.2210791183},{"b":"SchemesBench.drosteHylo","p":"-","ns":38706.3785392663,"ns_err":112.22129546756453,"bop":328640.27369794174},{"b":"SchemesBench.eoAna","p":"-","ns":77932.08180363705,"ns_err":1060.6805725314007,"bop":589712.5534679379},{"b":"SchemesBench.eoCata","p":"-","ns":58588.199808825644,"ns_err":469.1252847220697,"bop":197568.41635684474},{"b":"SchemesBench.eoHylo","p":"-","ns":64833.97141293045,"ns_err":1236.6618090933198,"bop":295848.4608024243},{"b":"SchemesBench.handAna","p":"-","ns":18828.11768332785,"ns_err":19.918199786330284,"bop":163816.1326278326},{"b":"SchemesBench.handCata","p":"-","ns":10469.686166361984,"ns_err":10.821513312669687,"bop":0.07320707936791405},{"b":"SchemesBench.handHylo","p":"-","ns":7911.530930540987,"ns_err":573.3028847052682,"bop":0.05530308674262977},{"b":"SetterBench.eoModify_0","p":"-","ns":1.8916864063675702,"ns_err":0.002316339319876353,"bop":24.00001328125706},{"b":"SetterBench.eoModify_3","p":"-","ns":9.480789471745187,"ns_err":0.014044740951103,"bop":72.00006656252559},{"b":"SetterBench.eoModify_6","p":"-","ns":18.52186546556852,"ns_err":0.0726544083903327,"bop":120.0001300773215},{"b":"SetterBench.eoModify_orderId","p":"-","ns":2.5964924231574753,"ns_err":0.005014338952396711,"bop":40.00001822637201},{"b":"SetterBench.mModify_0","p":"-","ns":1.8957488034288328,"ns_err":0.004198730756363476,"bop":24.000013313765177},{"b":"SetterBench.mModify_3","p":"-","ns":21.498627095154472,"ns_err":0.1791930672887217,"bop":168.00015093775474},{"b":"SetterBench.mModify_6","p":"-","ns":44.589345323328416,"ns_err":0.04476818452221883,"bop":288.00031304227934},{"b":"SetterBench.mModify_orderId","p":"-","ns":2.599166022290417,"ns_err":0.007765744343586534,"bop":40.00001825360378},{"b":"TraversalBench.eoFoldNested","p":"size=512","ns":4420.327282509555,"ns_err":34.232651603768566,"bop":20200.701901683507},{"b":"TraversalBench.eoFoldNested","p":"size=64","ns":417.7305951098638,"ns_err":0.5039626328049559,"bop":2680.010610502274},{"b":"TraversalBench.eoFoldNested","p":"size=8","ns":39.57069802785977,"ns_err":0.05064363731940072,"bop":328.0003755840485},{"b":"TraversalBench.eoFoldPrices","p":"size=512","ns":2450.0535567258107,"ns_err":9.197979504096699,"bop":12312.388944937493},{"b":"TraversalBench.eoFoldPrices","p":"size=64","ns":287.45154808507255,"ns_err":0.34231094555636665,"bop":1560.0073001357587},{"b":"TraversalBench.eoFoldPrices","p":"size=8","ns":37.209534239770946,"ns_err":0.0319270069046028,"bop":216.0003529638773},{"b":"TraversalBench.eoModify","p":"size=512","ns":6529.837398429034,"ns_err":165.25025717884083,"bop":36897.03898248464},{"b":"TraversalBench.eoModify","p":"size=64","ns":654.9079709635918,"ns_err":0.8933659559077698,"bop":4640.016651325705},{"b":"TraversalBench.eoModify","p":"size=8","ns":79.22473936047767,"ns_err":0.06954628932223583,"bop":608.0007521966745},{"b":"TraversalBench.mFoldPrices","p":"size=512","ns":24531.85422842939,"ns_err":612.2040437184938,"bop":162579.89587106477},{"b":"TraversalBench.mFoldPrices","p":"size=64","ns":1735.9542927349698,"ns_err":47.38943237208541,"bop":15424.044163286368},{"b":"TraversalBench.mFoldPrices","p":"size=8","ns":235.1893434215779,"ns_err":0.42224064649475,"bop":2016.002231966884},{"b":"TraversalBench.mModify","p":"size=512","ns":25945.664917858478,"ns_err":129.6314613029044,"bop":176924.03460708677},{"b":"TraversalBench.mModify","p":"size=64","ns":1491.3600569037153,"ns_err":22.689665163366087,"bop":14448.037936845207},{"b":"TraversalBench.mModify","p":"size=8","ns":209.34261973120252,"ns_err":2.229007245298529,"bop":1936.0019876144906},{"b":"ZioDiBench.eoDrillGet","p":"-","ns":9.147373182858761,"ns_err":0.6825206933410896,"bop":6.392316785891736e-05},{"b":"ZioDiBench.eoDrillModify","p":"-","ns":83.78244559429895,"ns_err":0.6193002947988498,"bop":528.0005881627242},{"b":"ZioDiBench.eoServiceGet","p":"-","ns":3.613452742605238,"ns_err":0.005852396573092082,"bop":2.5228799409080825e-05},{"b":"ZioDiBench.eoServiceReplace","p":"-","ns":61.472618781627105,"ns_err":0.14044680987050676,"bop":456.0004317148627},{"b":"ZioDiBench.handDrillGet","p":"-","ns":12.220904122903011,"ns_err":0.03450376120407955,"bop":120.00008582619425},{"b":"ZioDiBench.handDrillModify","p":"-","ns":77.74707151185748,"ns_err":0.23237997964249227,"bop":648.0005460171374},{"b":"ZioDiBench.handServiceGet","p":"-","ns":12.17506739489272,"ns_err":0.037828216653900855,"bop":120.00008550417452},{"b":"ZioDiBench.handServiceReplace","p":"-","ns":64.62352762129794,"ns_err":0.08506144169058158,"bop":576.0004538461395}]}
{"source_sha":"6e53b8574a3ff5c233303325e94c5d910496ad4b","date":"2026-10-02","jdk":"temurin-21","runner":"ubuntu-22.04","jmh_params":"-i 5 -wi 3 -f 3 -t 1 -foe true -prof gc -rf json -jvmArgsAppend -XX:-ResizeTLAB -jvmArgsAppend -Xms1g -jvmArgsAppend -Xmx1g","profile":"sweep:-i5-wi3-f3-t1-gc-rt1g","results":[{"b":"AffineFoldBench.eoGetOption_0","p":"-","ns":0.661240791514032,"ns_err":0.031789529936628,"bop":4.6167362693751e-06},{"b":"AffineFoldBench.eoGetOption_0_asAffineFold","p":"-","ns":0.6620716923484171,"ns_err":0.036690830710030244,"bop":4.62550617161849e-06},{"b":"AffineFoldBench.eoGetOption_0_asOptional","p":"-","ns":1.847447108628398,"ns_err":0.10475673277226837,"bop":16.00001297656934},{"b":"AffineFoldBench.eoGetOption_0_empty","p":"-","ns":0.6700249709223411,"ns_err":0.027014764049749642,"bop":4.677649176797849e-06},{"b":"AffineFoldBench.eoGetOption_3","p":"-","ns":8.980196986300085,"ns_err":0.19715782140481405,"bop":16.00006315429509},{"b":"AffineFoldBench.eoGetOption_6","p":"-","ns":16.242028757109242,"ns_err":0.34761519277793806,"bop":16.00011427136978},{"b":"AffineFoldBench.eoGetOption_loyalty","p":"-","ns":0.682949994349268,"ns_err":0.019478068936049434,"bop":4.770921272559553e-06},{"b":"AffineFoldBench.eoGetOption_loyalty_empty","p":"-","ns":0.6800780408627447,"ns_err":0.017430007715241874,"bop":4.748155034793973e-06},{"b":"AffineFoldBench.mGetOption_0","p":"-","ns":0.5792775518998761,"ns_err":0.015001739791680138,"bop":4.045572186893797e-06},{"b":"AffineFoldBench.mGetOption_0_empty","p":"-","ns":0.5741305938608143,"ns_err":0.010604251344820383,"bop":4.011623638927617e-06},{"b":"AffineFoldBench.mGetOption_3","p":"-","ns":5.470379778022001,"ns_err":0.09973510239308787,"bop":3.828543165008422e-05},{"b":"AffineFoldBench.mGetOption_6","p":"-","ns":13.989499947966866,"ns_err":0.38445192320053256,"bop":9.753176990283812e-05},{"b":"AffineFoldBench.mGetOption_loyalty","p":"-","ns":0.6790316137850759,"ns_err":0.016324826977320395,"bop":4.7436127285051546e-06},{"b":"AffineFoldBench.mGetOption_loyalty_empty","p":"-","ns":0.6805342868287448,"ns_err":0.01945047222646675,"bop":4.7555347903714e-06},{"b":"AvroBytesBench.eoGraftPayload","p":"-","ns":94.27081092900956,"ns_err":2.7433564106509274,"bop":720.001782264464},{"b":"AvroBytesBench.eoModifyCountry","p":"-","ns":211.76305025802748,"ns_err":7.278883701576568,"bop":933.3371685317992},{"b":"AvroBytesBench.eoModifyPartner","p":"-","ns":274.8811395157381,"ns_err":10.88647442860802,"bop":984.004915772714},{"b":"AvroBytesBench.eoReadCountry","p":"-","ns":119.96883541185295,"ns_err":5.108462922664832,"bop":520.0020402514369},{"b":"AvroBytesBench.eoReadPartner","p":"-","ns":131.256217739526,"ns_err":6.104992853116521,"bop":480.0022306086691},{"b":"AvroBytesBench.eoSliceGraftPayload","p":"-","ns":186.66436470385034,"ns_err":6.831483367051397,"bop":1192.003461399609},{"b":"AvroBytesBench.naiveModifyCountry","p":"-","ns":1909.2485988687974,"ns_err":66.7533893629141,"bop":7616.031972237933},{"b":"AvroBytesBench.naiveModifyPartner","p":"-","ns":2192.8359365827137,"ns_err":70.3552427793496,"bop":8696.036723606989},{"b":"AvroBytesBench.naivePassthroughPayload","p":"-","ns":3558.568433232886,"ns_err":87.52047646599165,"bop":14088.059596392755},{"b":"AvroBytesBench.naiveReadCountry","p":"-","ns":1162.1495365886806,"ns_err":57.92491932425548,"bop":4256.019760368298},{"b":"AvroBytesBench.naiveReadPartner","p":"-","ns":1434.3818128908727,"ns_err":63.14283390782209,"bop":5424.024400756582},{"b":"AvroBytesBench.prunedReadCountry","p":"-","ns":709.6030282416855,"ns_err":8.646328013537309,"bop":1976.0120703503608},{"b":"AvroBytesBench.prunedReadPartner","p":"-","ns":473.419129904254,"ns_err":17.1329954402839,"bop":1592.008049550196},{"b":"AvroDecodeReuseBench.cachedDecodeRecord","p":"-","ns":246.15742455274642,"ns_err":10.705902644990317,"bop":1224.0026326953425},{"b":"AvroDecodeReuseBench.confluentRecordReader","p":"-","ns":266.4731989857821,"ns_err":4.133139517113037,"bop":1560.0028492401818},{"b":"AvroDecodeReuseBench.confluentRecordReaderFresh","p":"-","ns":1125.966416243772,"ns_err":18.614057790207287,"bop":3696.0120486673704},{"b":"AvroDecodeReuseBench.freshDecodeRecord","p":"-","ns":1068.6929893915296,"ns_err":27.772400303354015,"bop":3344.011430738428},{"b":"AvroEncodeRouteBench.eo_encodeToAny","p":"-","ns":37.59167419353323,"ns_err":1.3127680255598373,"bop":312.0002642381665},{"b":"AvroEncodeRouteBench.eo_encodeValue","p":"-","ns":417.94234928619807,"ns_err":49.35405288945581,"bop":568.0029357719691},{"b":"AvroEncodeRouteBench.handwritten_stream","p":"-","ns":124.02821783962531,"ns_err":5.515464271550709,"bop":240.00087153809082},{"b":"AvroEncodeRouteBench.naive_freshPlumbing","p":"-","ns":684.9248477631571,"ns_err":19.371484193587843,"bop":2624.0048159332086},{"b":"AvroJsonBridgeBench.eoClickToAvro","p":"-","ns":2136.0080175129574,"ns_err":83.83090619650358,"bop":4664.016203410255},{"b":"AvroJsonBridgeBench.eoClickToJson","p":"-","ns":1902.260504848949,"ns_err":44.98330674667303,"bop":3984.0133589744687},{"b":"AvroJsonBridgeBench.eoWideToAvro","p":"-","ns":526.7320484861074,"ns_err":9.508421742186092,"bop":2040.00421333155},{"b":"AvroJsonBridgeBench.eoWideToJson","p":"-","ns":399.58367559321573,"ns_err":18.267362549434374,"bop":1472.0028060051798},{"b":"AvroJsonBridgeBench.naiveClickToAvro","p":"-","ns":1105.5340103944493,"ns_err":40.15101810999012,"bop":3928.0077706691804},{"b":"AvroJsonBridgeBench.naiveClickToJson","p":"-","ns":2104.701127786933,"ns_err":83.67227907857989,"bop":5856.014798820554},{"b":"AvroJsonBridgeBench.naiveWideToAvro","p":"-","ns":868.2881339202519,"ns_err":24.959806728037414,"bop":3504.0061068896507},{"b":"AvroJsonBridgeBench.naiveWideToJson","p":"-","ns":1376.5798118105429,"ns_err":21.89533297047899,"bop":4376.009668330971},{"b":"AvroVulcanBench.decode_bridged","p":"-","ns":127.50649710004963,"ns_err":2.230115000363955,"bop":832.0008954147365},{"b":"AvroVulcanBench.decode_native","p":"-","ns":14.802967702593607,"ns_err":0.25105127440723657,"bop":48.00010411739353},{"b":"AvroVulcanBench.decode_vulcanRaw","p":"-","ns":124.91965486978613,"ns_err":1.935099004711014,"bop":832.0008777843063},{"b":"AvroVulcanBench.encode_bridged","p":"-","ns":155.5259269700843,"ns_err":4.328440963513145,"bop":1234.6677603660744},{"b":"AvroVulcanBench.encode_native","p":"-","ns":11.13210135049204,"ns_err":0.7950759129398229,"bop":56.00007824686432},{"b":"AvroVulcanBench.encode_vulcanRaw","p":"-","ns":151.20927541626315,"ns_err":6.498330834096992,"bop":1229.3343943937764},{"b":"AvroVulcanBench.fieldGet_bridged","p":"-","ns":68.83894174475861,"ns_err":1.0493893075323792,"bop":432.00048414288995},{"b":"AvroVulcanBench.fieldGet_native","p":"-","ns":71.97644923657501,"ns_err":5.096428168462675,"bop":432.0005067200755},{"b":"AvroVulcanBench.rootGet_bridged","p":"-","ns":237.92842878968102,"ns_err":7.047875037335072,"bop":1424.0016729697822},{"b":"AvroVulcanBench.rootGet_native","p":"-","ns":112.28879137554715,"ns_err":2.7994881663880724,"bop":600.0007893163851},{"b":"CapsBench.foldMapCap","p":"-","ns":13.637464840224746,"ns_err":0.28356049691693896,"bop":9.50531909951034e-05},{"b":"CapsBench.foldMapDerivedHeld","p":"-","ns":14.884255138712568,"ns_err":0.45919254443968877,"bop":0.00010407594621438246},{"b":"CapsBench.foldMapDerivedPerCall","p":"-","ns":14.000904016931665,"ns_err":0.6223708861579321,"bop":9.781196072845499e-05},{"b":"CapsBench.foldMapDirect","p":"-","ns":13.649028186551728,"ns_err":0.4169064226682397,"bop":9.537411099622066e-05},{"b":"CapsBench.getCap","p":"-","ns":0.7481373652908158,"ns_err":0.02435248518790414,"bop":5.22634779414732e-06},{"b":"CapsBench.getDeepCap","p":"-","ns":0.9942267612452497,"ns_err":0.0255134551290424,"bop":6.949584375089295e-06},{"b":"CapsBench.getDeepDirect","p":"-","ns":0.9065057212808353,"ns_err":0.029491875414060814,"bop":6.329053575017044e-06},{"b":"CapsBench.getDerivedHeld","p":"-","ns":1.467058869353111,"ns_err":0.0674263892334272,"bop":1.0260876176468872e-05},{"b":"CapsBench.getDerivedPerCall","p":"-","ns":0.9661484212256715,"ns_err":0.01739954239237598,"bop":6.745381483505e-06},{"b":"CapsBench.getDirect","p":"-","ns":0.6894273786904327,"ns_err":0.016665131277222137,"bop":4.814788784908219e-06},{"b":"CapsBench.modifyCap","p":"-","ns":3.1666639169232065,"ns_err":0.1064166866667825,"bop":40.0000222443464},{"b":"CapsBench.modifyDeepCap","p":"-","ns":19.832146700414544,"ns_err":0.2726699712604331,"bop":176.00013940465143},{"b":"CapsBench.modifyDeepDirect","p":"-","ns":21.06113577254659,"ns_err":0.673914809682422,"bop":152.0001479885715},{"b":"CapsBench.modifyDerivedHeld","p":"-","ns":3.6171366158337768,"ns_err":0.1472506405008943,"bop":40.00002541302389},{"b":"CapsBench.modifyDerivedPerCall","p":"-","ns":3.513993966265211,"ns_err":0.1830762432113259,"bop":40.00002464547723},{"b":"CapsBench.modifyDirect","p":"-","ns":3.2182723717237485,"ns_err":0.12732140166541817,"bop":40.000022635158686},{"b":"ClickRecordBench.encode_derived","p":"-","ns":337.2068429629514,"ns_err":9.528289597123361,"bop":744.0023702114329},{"b":"ClickRecordBench.encode_derivedThroughPrism","p":"-","ns":336.8884653541583,"ns_err":7.287189118032272,"bop":744.0023672232768},{"b":"ClickRecordBench.encode_hand","p":"-","ns":114.11202746475918,"ns_err":1.651153060045813,"bop":768.0008025719039},{"b":"ClickRecordBench.encode_positional","p":"-","ns":4183.838680122679,"ns_err":156.95904620189552,"bop":23912.029435415927},{"b":"ClickRecordBench.encode_vulcanFull","p":"-","ns":4693.54874576758,"ns_err":105.08434601234886,"bop":28408.033050164067},{"b":"CompositionBench.buildLens1","p":"-","ns":5.849067256604198,"ns_err":0.10192162833010543,"bop":72.00004118946825},{"b":"CompositionBench.buildLens3","p":"-","ns":16.93072779639263,"ns_err":0.45053353947403224,"bop":184.00011917724584},{"b":"CompositionBench.buildLens6","p":"-","ns":35.06416095406037,"ns_err":4.356813826631195,"bop":352.00024700263646},{"b":"CompositionBench.buildLensOptional3","p":"-","ns":16.642024976048685,"ns_err":0.2659773297558892,"bop":184.00011694352892},{"b":"CompositionBench.reuseLeaf","p":"-","ns":2.362372393076078,"ns_err":0.1978581970770857,"bop":24.000016615953026},{"b":"CompositionBench.reuseLens1","p":"-","ns":15.999176863240248,"ns_err":0.4812683403151469,"bop":40.000112410654474},{"b":"CompositionBench.reuseLens3","p":"-","ns":33.56320855908753,"ns_err":0.6208853700473586,"bop":72.0002361321016},{"b":"CompositionBench.reuseLens6","p":"-","ns":73.56305952063265,"ns_err":2.9881420116398942,"bop":120.000517079149},{"b":"CompositionBench.reuseLensOptional3","p":"-","ns":35.54623862341801,"ns_err":1.4286509162811145,"bop":160.000249861036},{"b":"FoldBench.eoFoldMap","p":"size=512","ns":1329.1525397905766,"ns_err":20.883749811212112,"bop":7936.216418105484},{"b":"FoldBench.eoFoldMap","p":"size=64","ns":157.2228602474316,"ns_err":3.4811151360860872,"bop":768.0036975752064},{"b":"FoldBench.eoFoldMap","p":"size=8","ns":13.497034471958274,"ns_err":0.2815942328296902,"bop":0.00012332937608918224},{"b":"FoldBench.eoFoldPrices","p":"size=512","ns":2044.4479943317688,"ns_err":80.1214614190534,"bop":12312.332875460108},{"b":"FoldBench.eoFoldPrices","p":"size=64","ns":148.74138956876402,"ns_err":3.6101182211866782,"bop":1560.003500009821},{"b":"FoldBench.eoFoldPrices","p":"size=8","ns":19.27108213696648,"ns_err":0.5162167959009583,"bop":216.0001771530438},{"b":"FoldBench.mFoldMap","p":"size=512","ns":1344.7662410596017,"ns_err":29.841973724970032,"bop":7936.218961943544},{"b":"FoldBench.mFoldMap","p":"size=64","ns":157.46305453536286,"ns_err":4.507768550270851,"bop":768.0037062537988},{"b":"FoldBench.mFoldMap","p":"size=8","ns":13.9914057850199,"ns_err":0.784928718416135,"bop":0.00012832759904279637},{"b":"FoldBench.mFoldPrices","p":"size=512","ns":2064.3263084373075,"ns_err":103.82790860509846,"bop":12312.336080431942},{"b":"FoldBench.mFoldPrices","p":"size=64","ns":151.65841958453248,"ns_err":4.963804438019333,"bop":1560.0035667645452},{"b":"FoldBench.mFoldPrices","p":"size=8","ns":19.154656143937462,"ns_err":0.43474342041623665,"bop":216.00017610196105},{"b":"GenericsBench.genLensGet","p":"-","ns":0.6666537000478499,"ns_err":0.021493682052025353,"bop":4.661589618994953e-06},{"b":"GenericsBench.genLensModify","p":"-","ns":3.474843268724884,"ns_err":0.09907287302100669,"bop":24.000024413925516},{"b":"GenericsBench.genPrismGetHit","p":"-","ns":1.8150054336726298,"ns_err":0.07149280103822683,"bop":16.000012774488717},{"b":"GenericsBench.genPrismGetMiss","p":"-","ns":0.7465585906142168,"ns_err":0.01600252023203668,"bop":5.2168979168108854e-06},{"b":"GenericsBench.genPrismModifyHit","p":"-","ns":2.4519622351795136,"ns_err":0.08468268313623195,"bop":24.000017254785686},{"b":"GenericsBench.genPrismModifyMiss","p":"-","ns":0.7692654787057047,"ns_err":0.016467978714869644,"bop":5.3706586872603125e-06},{"b":"GenericsBench.handLensGet","p":"-","ns":0.6912553408501197,"ns_err":0.03494145509155237,"bop":4.830624838407599e-06},{"b":"GenericsBench.handLensModify","p":"-","ns":2.0416127703759477,"ns_err":0.08350192466305628,"bop":24.00001434582972},{"b":"GenericsBench.handPrismGetHit","p":"-","ns":1.4886108640493834,"ns_err":0.06514479937340839,"bop":16.000010483095597},{"b":"GenericsBench.handPrismGetMiss","p":"-","ns":0.6823851904478123,"ns_err":0.016967917259553298,"bop":4.766856840153018e-06},{"b":"GenericsBench.handPrismModifyHit","p":"-","ns":2.1192581097184724,"ns_err":0.07692950028825399,"bop":24.000014927372472},{"b":"GenericsBench.handPrismModifyMiss","p":"-","ns":0.6703517985055247,"ns_err":0.010840118127478893,"bop":4.679839630174583e-06},{"b":"GenericsBench.rawLensGet","p":"-","ns":0.4340881564108282,"ns_err":0.022361159039860048,"bop":3.0321013746980884e-06},{"b":"GenericsBench.rawLensModify","p":"-","ns":2.1135912140528608,"ns_err":0.09660641130163976,"bop":24.0000148756208},{"b":"GenericsBench.rawPrismGetHit","p":"-","ns":1.3506483310334312,"ns_err":0.033535976045748345,"bop":16.00000949947225},{"b":"GenericsBench.rawPrismModifyHit","p":"-","ns":2.059828538858947,"ns_err":0.051378828880594515,"bop":24.0000144959181},{"b":"GetterBench.eoGet_0","p":"-","ns":0.5715522371963281,"ns_err":0.013915884327708208,"bop":3.997696778119766e-06},{"b":"GetterBench.eoGet_3","p":"-","ns":8.883441200415076,"ns_err":0.2776900666922434,"bop":6.206015064736017e-05},{"b":"GetterBench.eoGet_6","p":"-","ns":17.195174322519968,"ns_err":0.507477154013398,"bop":0.00012023614628262472},{"b":"GetterBench.eoGet_orderId","p":"-","ns":0.5759404798569747,"ns_err":0.016670227719445065,"bop":4.028437867766801e-06},{"b":"GetterBench.mGet_0","p":"-","ns":0.3297125183276913,"ns_err":0.008185493828947584,"bop":2.302715944562897e-06},{"b":"GetterBench.mGet_3","p":"-","ns":4.726578524313206,"ns_err":0.4557728625390922,"bop":3.3000651152213654e-05},{"b":"GetterBench.mGet_6","p":"-","ns":14.512419503065836,"ns_err":0.4797100155246286,"bop":0.00010141358893656283},{"b":"GetterBench.mGet_orderId","p":"-","ns":0.32817676188175554,"ns_err":0.009705074173547528,"bop":2.2940225028338142e-06},{"b":"IsoBench.eoGet","p":"-","ns":2.5810451284888116,"ns_err":0.08536636025136715,"bop":32.00001815721147},{"b":"IsoBench.eoReverseGet","p":"-","ns":2.745011825298584,"ns_err":0.09311589905921938,"bop":32.000019295301776},{"b":"IsoBench.mGet","p":"-","ns":2.6889406134308946,"ns_err":0.09199583635458307,"bop":32.00001888947336},{"b":"IsoBench.mReverseGet","p":"-","ns":2.485683352045139,"ns_err":0.08854418536009616,"bop":32.00001749290555},{"b":"JsoniterBench.cModifyId","p":"size=512","ns":275758.8102385399,"ns_err":4909.13951648435,"bop":1066670.4192944895},{"b":"JsoniterBench.cModifyId","p":"size=64","ns":32031.540575791947,"ns_err":810.6272872561791,"bop":136254.21723105427},{"b":"JsoniterBench.cModifyId","p":"size=8","ns":5355.195674625581,"ns_err":186.16410789162146,"bop":20696.053502897303},{"b":"JsoniterBench.cReadId","p":"size=512","ns":133028.9211125412,"ns_err":6973.595054068951,"bop":797909.8341863385},{"b":"JsoniterBench.cReadId","p":"size=64","ns":16142.035062562065,"ns_err":480.52572975800825,"bop":101288.46381519113},{"b":"JsoniterBench.cReadId","p":"size=8","ns":2627.880438237244,"ns_err":64.80926193736443,"bop":15568.02625359162},{"b":"JsoniterBench.cReadStreet","p":"size=512","ns":128720.65647842453,"ns_err":3048.3325738485732,"bop":797908.6094393104},{"b":"JsoniterBench.cReadStreet","p":"size=64","ns":16178.445282911294,"ns_err":436.8240945321688,"bop":101288.46479839648},{"b":"JsoniterBench.cReadStreet","p":"size=8","ns":2652.5295431576233,"ns_err":81.7743357369407,"bop":15568.026501077893},{"b":"JsoniterBench.cReplaceId","p":"size=512","ns":281168.33144415205,"ns_err":9007.368153090967,"bop":1066623.9801546936},{"b":"JsoniterBench.cReplaceId","p":"size=64","ns":33580.60332950027,"ns_err":1704.8287514898163,"bop":136206.64606496657},{"b":"JsoniterBench.cReplaceId","p":"size=8","ns":5422.242680713663,"ns_err":161.97682810674087,"bop":20656.054125053055},{"b":"JsoniterBench.cSumPrices","p":"size=512","ns":242440.4954310789,"ns_err":8774.334618833782,"bop":1240708.9373059694},{"b":"JsoniterBench.cSumPrices","p":"size=64","ns":27660.61528042999,"ns_err":794.5108937475261,"bop":157582.04600022204},{"b":"JsoniterBench.cSumPrices","p":"size=8","ns":4343.609804150634,"ns_err":73.02821739897487,"bop":22720.043431535563},{"b":"JsoniterBench.jMiss","p":"size=512","ns":132.14661751516212,"ns_err":5.710420737309417,"bop":0.03757693554948154},{"b":"JsoniterBench.jMiss","p":"size=64","ns":130.84032950049755,"ns_err":4.656372196888351,"bop":0.0037511272876112212},{"b":"JsoniterBench.jMiss","p":"size=8","ns":129.74556840943623,"ns_err":4.39490727185911,"bop":0.0012907370295158528},{"b":"JsoniterBench.jModifyId","p":"size=512","ns":5380.763581888894,"ns_err":104.28018449311311,"bop":41921.530345240586},{"b":"JsoniterBench.jModifyId","p":"size=64","ns":676.2377489053141,"ns_err":6.32600827858036,"bop":5328.019395177626},{"b":"JsoniterBench.jModifyId","p":"size=8","ns":147.5234653468592,"ns_err":4.981872678873306,"bop":992.0014738477529},{"b":"JsoniterBench.jReadId","p":"size=512","ns":29.97329463408263,"ns_err":4.936244651772835,"bop":48.008524172115706},{"b":"JsoniterBench.jReadId","p":"size=64","ns":32.90912473152994,"ns_err":6.911771737971364,"bop":56.00094504789574},{"b":"JsoniterBench.jReadId","p":"size=8","ns":30.49517879535518,"ns_err":5.565580384111871,"bop":48.00030438359012},{"b":"JsoniterBench.jReadStreet","p":"size=512","ns":133.02658278315,"ns_err":7.771197994141312,"bop":144.03783124025875},{"b":"JsoniterBench.jReadStreet","p":"size=64","ns":126.48370937701773,"ns_err":2.990273044360565,"bop":144.00362918236254},{"b":"JsoniterBench.jReadStreet","p":"size=8","ns":130.77510465955038,"ns_err":5.144476909184561,"bop":136.00130534876035},{"b":"JsoniterBench.jReplaceId","p":"size=512","ns":5291.320546926654,"ns_err":63.55827930494845,"bop":41889.50490132764},{"b":"JsoniterBench.jReplaceId","p":"size=64","ns":670.4869127871682,"ns_err":12.090423080234723,"bop":5296.019230542203},{"b":"JsoniterBench.jReplaceId","p":"size=8","ns":146.81098071310996,"ns_err":2.8552780524053816,"bop":960.0014665301734},{"b":"JsoniterBench.jSumPrices","p":"size=512","ns":58899.73208322918,"ns_err":1778.0338485734753,"bop":63676.64301104904},{"b":"JsoniterBench.jSumPrices","p":"size=64","ns":7499.483932069426,"ns_err":211.35330200151978,"bop":8120.215371339379},{"b":"JsoniterBench.jSumPrices","p":"size=8","ns":979.0042080921629,"ns_err":23.005118934984022,"bop":1176.009776335463},{"b":"KyoDiBench.eoEnvFocus","p":"-","ns":73.28394537629025,"ns_err":2.275848361087365,"bop":320.00051447585645},{"b":"KyoDiBench.eoMapDrillModify","p":"-","ns":25.535054108734013,"ns_err":0.690271624650705,"bop":216.00017949221575},{"b":"KyoDiBench.eoMapGet","p":"-","ns":1.5978115525434153,"ns_err":0.03300743157442481,"bop":1.1155550781854936e-05},{"b":"KyoDiBench.eoVarUpdateFocus","p":"-","ns":61.330596674391046,"ns_err":1.5722211646275677,"bop":216.00043070289414},{"b":"KyoDiBench.handEnvUse","p":"-","ns":71.06916574295009,"ns_err":1.312345358560145,"bop":312.0004992528919},{"b":"KyoDiBench.handMapDrillModify","p":"-","ns":23.238323193263273,"ns_err":0.8636009408940689,"bop":216.00016332816813},{"b":"KyoDiBench.handMapGet","p":"-","ns":1.2146733238421372,"ns_err":0.03134870553056276,"bop":8.488395127765275e-06},{"b":"KyoDiBench.handVarUpdate","p":"-","ns":55.86124808539247,"ns_err":1.5860191635785494,"bop":200.00039286255105},{"b":"LensBench.eoGet","p":"-","ns":0.6955526973435131,"ns_err":0.028410077632967545,"bop":4.860406588139662e-06},{"b":"LensBench.eoModify","p":"-","ns":3.5225532577592635,"ns_err":0.12694711141385734,"bop":40.000024800373616},{"b":"LensBench.eoModifyDeep","p":"-","ns":21.37712055432502,"ns_err":0.509537645853585,"bop":152.0001502975212},{"b":"LensBench.eoReplace","p":"-","ns":3.204177476571145,"ns_err":0.13767707443861854,"bop":40.00002252221434},{"b":"LensBench.mGet","p":"-","ns":0.7569428129209326,"ns_err":0.028817317611039086,"bop":5.2975917260194646e-06},{"b":"LensBench.mModify","p":"-","ns":3.1658200408145816,"ns_err":0.13756175069685028,"bop":40.00002224647291},{"b":"LensBench.mModifyDeep","p":"-","ns":19.696139541040644,"ns_err":0.914604912380678,"bop":176.0001382783609},{"b":"LensBench.mReplace","p":"-","ns":3.177887846880427,"ns_err":0.06273610955529316,"bop":40.00002234417561},{"b":"MultiFocusBench.eoFold_powerEach","p":"size=1024","ns":13486.574723738106,"ns_err":639.8055435068032,"bop":43035.49656391199},{"b":"MultiFocusBench.eoFold_powerEach","p":"size=256","ns":2473.33751686885,"ns_err":34.20896199196731,"bop":9240.169523465902},{"b":"MultiFocusBench.eoFold_powerEach","p":"size=32","ns":290.2040901757922,"ns_err":34.508203212967544,"bop":920.0042155675263},{"b":"MultiFocusBench.eoFold_powerEach","p":"size=4","ns":48.56121755113933,"ns_err":0.5032373434638556,"bop":328.0003892731645},{"b":"MultiFocusBench.eoModify_multiFocus","p":"size=1024","ns":51824.682116749565,"ns_err":1257.824477882706,"bop":331137.5477808408},{"b":"MultiFocusBench.eoModify_multiFocus","p":"size=256","ns":11249.39601251068,"ns_err":198.5427848094772,"bop":76112.7711457948},{"b":"MultiFocusBench.eoModify_multiFocus","p":"size=32","ns":1516.69181794831,"ns_err":15.540384644974173,"bop":8600.022075205312},{"b":"MultiFocusBench.eoModify_multiFocus","p":"size=4","ns":155.43276325068638,"ns_err":4.758825967228808,"bop":1320.0012489643636},{"b":"MultiFocusBench.eoModify_powerEach","p":"size=1024","ns":26492.47221157635,"ns_err":2139.818087069062,"bop":115174.86888626244},{"b":"MultiFocusBench.eoModify_powerEach","p":"size=256","ns":6149.35369732759,"ns_err":94.74239815702893,"bop":26080.421407606013},{"b":"MultiFocusBench.eoModify_powerEach","p":"size=32","ns":798.4398626154086,"ns_err":25.7962779929034,"bop":3152.0116031055572},{"b":"MultiFocusBench.eoModify_powerEach","p":"size=4","ns":117.99120805613084,"ns_err":1.8957742811702305,"bop":800.0009485881131},{"b":"MultiFocusBench.naive_listMap","p":"size=1024","ns":8404.53154368146,"ns_err":652.0463506666698,"bop":65578.17863185133},{"b":"MultiFocusBench.naive_listMap","p":"size=256","ns":1876.0963318992524,"ns_err":40.13408041033996,"bop":16424.128586316416},{"b":"MultiFocusBench.naive_listMap","p":"size=32","ns":243.8891290427233,"ns_err":11.43177520969023,"bop":2088.0035430506696},{"b":"MultiFocusBench.naive_listMap","p":"size=4","ns":29.252129055928897,"ns_err":0.43291976617310224,"bop":296.00023504157184},{"b":"MultiFocusBench.naive_sumQty","p":"size=1024","ns":3994.2324466228956,"ns_err":178.280138853531,"bop":16129.035505769358},{"b":"MultiFocusBench.naive_sumQty","p":"size=256","ns":613.0275640921268,"ns_err":10.200410816957739,"bop":3840.0420122967757},{"b":"MultiFocusBench.naive_sumQty","p":"size=32","ns":52.360264014544526,"ns_err":0.8403999947885427,"bop":256.0007605959747},{"b":"MultiFocusBench.naive_sumQty","p":"size=4","ns":4.742998549682321,"ns_err":0.15917304411165742,"bop":3.7867476183225584e-05},{"b":"MultiFocusCollectBench.eoCollectList_listSum","p":"-","ns":24.117910116942944,"ns_err":0.7025145253155773,"bop":56.0001695064604},{"b":"MultiFocusCollectBench.eoCollectMap_constSum","p":"-","ns":1.2651140490477573,"ns_err":0.03336245409986285,"bop":8.843416283206861e-06},{"b":"MultiFocusCollectBench.eoCollectMap_zipMean","p":"-","ns":100.93438801577082,"ns_err":1.1246257499980377,"bop":880.0007107394518},{"b":"MultiFocusCollectBench.eoModify_multiFocusTuple3","p":"-","ns":12.512208871782633,"ns_err":0.3845920485302991,"bop":128.00008800346612},{"b":"MultiFocusCollectBench.eoModify_multiFocusTuple6","p":"-","ns":20.84813981641992,"ns_err":0.48925986121751813,"bop":224.00014645520196},{"b":"MultiFocusCollectBench.naive_constSum","p":"-","ns":1.3278607423580564,"ns_err":0.038932408769983946,"bop":16.000009344821162},{"b":"MultiFocusCollectBench.naive_listSum","p":"-","ns":20.90216264458627,"ns_err":0.3482486269657374,"bop":56.000146887695124},{"b":"MultiFocusCollectBench.naive_tuple3Rewrite","p":"-","ns":7.443607146694827,"ns_err":0.13280157887949415,"bop":96.00005245063473},{"b":"MultiFocusCollectBench.naive_tuple6Rewrite","p":"-","ns":14.165544078612681,"ns_err":0.331284203338145,"bop":184.00009971951724},{"b":"MultiFocusCollectBench.naive_zipMeanBroadcast","p":"-","ns":160.5556667797205,"ns_err":9.197509847720337,"bop":1176.001129896133},{"b":"OpticBuildBench.build","p":"-","ns":38.06494419738432,"ns_err":1.1641253411419734,"bop":184.00031331079154},{"b":"OpticBuildBench.buildAndUse","p":"-","ns":696.4943413278053,"ns_err":47.126821772103256,"bop":2840.005600265484},{"b":"OpticBuildBench.reuseUse","p":"-","ns":627.0262187532179,"ns_err":17.674619171206,"bop":2696.0044088445215},{"b":"OptionalBench.eoModify_0","p":"-","ns":14.177763851327718,"ns_err":0.46275804874688176,"bop":112.00009970389421},{"b":"OptionalBench.eoModify_0_empty","p":"-","ns":0.8471638259204488,"ns_err":0.01184606492560406,"bop":5.909307437550152e-06},{"b":"OptionalBench.eoModify_3","p":"-","ns":34.46373390389613,"ns_err":1.198515278378546,"bop":160.00024196167897},{"b":"OptionalBench.eoModify_6","p":"-","ns":77.09244062258502,"ns_err":1.9699134598489316,"bop":208.0005409162937},{"b":"OptionalBench.eoModify_loyalty","p":"-","ns":12.642358759224518,"ns_err":0.8731084012629179,"bop":112.00008897120772},{"b":"OptionalBench.eoModify_loyalty_empty","p":"-","ns":0.8673360191629121,"ns_err":0.02674686785492477,"bop":6.059276966827493e-06},{"b":"OptionalBench.eoReplace_0","p":"-","ns":3.472966840511859,"ns_err":0.34591589909618287,"bop":40.00002438286386},{"b":"OptionalBench.eoReplace_loyalty","p":"-","ns":6.900484844978134,"ns_err":0.06007705644406388,"bop":88.00004862275516},{"b":"OptionalBench.mModify_0","p":"-","ns":14.179525326616309,"ns_err":0.5564774090943836,"bop":112.00009964252914},{"b":"OptionalBench.mModify_0_empty","p":"-","ns":1.0992441810673705,"ns_err":0.04997053117724403,"bop":7.683998718336925e-06},{"b":"OptionalBench.mModify_3","p":"-","ns":44.536283055042624,"ns_err":1.4415492601853384,"bop":304.000312468749},{"b":"OptionalBench.mModify_6","p":"-","ns":75.3483174871791,"ns_err":1.6298655161186604,"bop":496.0005294894158},{"b":"OptionalBench.mModify_loyalty","p":"-","ns":12.396400161287177,"ns_err":0.8362937657467696,"bop":112.0000871866953},{"b":"OptionalBench.mModify_loyalty_empty","p":"-","ns":1.1062203462493891,"ns_err":0.0390328913809773,"bop":7.72645738996173e-06},{"b":"OptionalBench.mReplace_0","p":"-","ns":3.3941323157033474,"ns_err":0.11308582778235639,"bop":40.000023916018435},{"b":"OptionalBench.mReplace_loyalty","p":"-","ns":6.883097515201151,"ns_err":0.15273413104931569,"bop":88.00004848377338},{"b":"OrderAvroBench.eoModifyNames","p":"size=512","ns":22685.42517296901,"ns_err":1193.593781099824,"bop":97421.42942521993},{"b":"OrderAvroBench.eoModifyNames","p":"size=64","ns":2756.0827056247244,"ns_err":95.56201121568408,"bop":12616.096215084424},{"b":"OrderAvroBench.eoModifyNames","p":"size=8","ns":381.57813548947644,"ns_err":18.91780604898303,"bop":2048.0040995816594},{"b":"OrderAvroBench.eoModifyStreet","p":"size=512","ns":79.9334862310104,"ns_err":1.482356976032489,"bop":328.0191300418366},{"b":"OrderAvroBench.eoModifyStreet","p":"size=64","ns":79.39625319255917,"ns_err":2.32542234616416,"bop":328.00277863654514},{"b":"OrderAvroBench.eoModifyStreet","p":"size=8","ns":81.56476374624532,"ns_err":3.7336599195469535,"bop":328.0008750420167},{"b":"OrderAvroBench.eoReadStreet","p":"size=512","ns":23.63087955806149,"ns_err":0.795455107764683,"bop":88.00565552427655},{"b":"OrderAvroBench.eoReadStreet","p":"size=64","ns":23.53934368085311,"ns_err":0.610368050667711,"bop":88.00082411873787},{"b":"OrderAvroBench.eoReadStreet","p":"size=8","ns":23.33074154575344,"ns_err":0.3046489685607081,"bop":88.00025058520629},{"b":"OrderAvroBench.monocleModifyNames","p":"size=512","ns":74146.69803029895,"ns_err":2185.2051437500168,"bop":382786.85374578554},{"b":"OrderAvroBench.monocleModifyNames","p":"size=64","ns":6755.228404694232,"ns_err":263.94752662161574,"bop":39840.22861430017},{"b":"OrderAvroBench.monocleModifyNames","p":"size=8","ns":1007.8576693304746,"ns_err":33.47497770643006,"bop":5400.010657888315},{"b":"OrderAvroBench.monocleModifyStreet","p":"size=512","ns":35020.74418696902,"ns_err":1424.2614130041482,"bop":169071.12966645797},{"b":"OrderAvroBench.monocleModifyStreet","p":"size=64","ns":4447.369284257106,"ns_err":117.05062452998273,"bop":20904.150458866374},{"b":"OrderAvroBench.monocleModifyStreet","p":"size=8","ns":605.5871065332965,"ns_err":26.902204411052402,"bop":2992.006401800526},{"b":"OrderAvroBench.monocleReadStreet","p":"size=512","ns":17410.56145124586,"ns_err":261.9935158332891,"bop":69780.1670599026},{"b":"OrderAvroBench.monocleReadStreet","p":"size=64","ns":2841.2118432116176,"ns_err":251.9409599401187,"bop":8848.099306703003},{"b":"OrderAvroBench.monocleReadStreet","p":"size=8","ns":403.0992549455414,"ns_err":75.12929184850346,"bop":1208.0043237220777},{"b":"OrderAvroBench.naiveModifyNames","p":"size=512","ns":43150.85365193488,"ns_err":366.77630767259825,"bop":226287.1261871694},{"b":"OrderAvroBench.naiveModifyNames","p":"size=64","ns":5464.461439758783,"ns_err":182.59192480168755,"bop":27936.18490256883},{"b":"OrderAvroBench.naiveModifyNames","p":"size=8","ns":712.1516877444091,"ns_err":25.50193540165106,"bop":3752.0075233162784},{"b":"OrderAvroBench.naiveModifyStreet","p":"size=512","ns":33568.44898039818,"ns_err":436.9493669623986,"bop":169047.28205282416},{"b":"OrderAvroBench.naiveModifyStreet","p":"size=64","ns":4396.716642551544,"ns_err":139.92847023845746,"bop":20880.148737755426},{"b":"OrderAvroBench.naiveModifyStreet","p":"size=8","ns":605.8866674925557,"ns_err":37.5801115428342,"bop":2968.0064020720015},{"b":"OrderAvroBench.naiveReadStreet","p":"size=512","ns":17507.40278834349,"ns_err":173.46239140918536,"bop":69780.19033608973},{"b":"OrderAvroBench.naiveReadStreet","p":"size=64","ns":3038.7442176134205,"ns_err":314.0742681794161,"bop":8848.106152404098},{"b":"OrderAvroBench.naiveReadStreet","p":"size=8","ns":295.4288428757452,"ns_err":12.040909681378562,"bop":1208.0031793759542},{"b":"OrderCirceBench.directNames","p":"size=512","ns":136137.29769987843,"ns_err":5706.7365018931005,"bop":613909.1346035803},{"b":"OrderCirceBench.directNames","p":"size=64","ns":16900.417128857152,"ns_err":271.83002791592446,"bop":77177.78072472679},{"b":"OrderCirceBench.directNames","p":"size=8","ns":2349.1429379707624,"ns_err":89.18982521526702,"bop":10688.051456746363},{"b":"OrderCirceBench.directStreet","p":"size=512","ns":635.4738400079633,"ns_err":18.907465263418008,"bop":2728.5015947091742},{"b":"OrderCirceBench.directStreet","p":"size=64","ns":652.871279696027,"ns_err":60.710224008146206,"bop":2736.067832837468},{"b":"OrderCirceBench.directStreet","p":"size=8","ns":653.1684351784971,"ns_err":37.3087224526771,"bop":2736.014175558185},{"b":"OrderCirceBench.eoNames","p":"size=512","ns":136508.6591432944,"ns_err":5885.69987909365,"bop":613949.4131315466},{"b":"OrderCirceBench.eoNames","p":"size=64","ns":17688.03340264149,"ns_err":813.7577735435866,"bop":78777.86379972768},{"b":"OrderCirceBench.eoNames","p":"size=8","ns":2436.864418868428,"ns_err":107.9490729150093,"bop":10944.053058919155},{"b":"OrderCirceBench.eoNamesIor","p":"size=512","ns":154436.94832242132,"ns_err":3554.692032169605,"bop":683467.780821011},{"b":"OrderCirceBench.eoNamesIor","p":"size=64","ns":19873.59893419836,"ns_err":531.2387172305154,"bop":87487.42755970437},{"b":"OrderCirceBench.eoNamesIor","p":"size=8","ns":2554.074995474574,"ns_err":77.10794389765115,"bop":11576.055591473352},{"b":"OrderCirceBench.eoStreet","p":"size=512","ns":659.7883416456682,"ns_err":50.46445323944896,"bop":2720.520785804226},{"b":"OrderCirceBench.eoStreet","p":"size=64","ns":659.6276083355201,"ns_err":52.218339834067095,"bop":2720.0685150153377},{"b":"OrderCirceBench.eoStreet","p":"size=8","ns":613.2948052161396,"ns_err":8.382213684008462,"bop":2720.013415564485},{"b":"OrderCirceBench.eoStreetIor","p":"size=512","ns":615.507240099026,"ns_err":16.65057096434994,"bop":2736.485842635636},{"b":"OrderCirceBench.eoStreetIor","p":"size=64","ns":623.8504949610958,"ns_err":13.822342963967488,"bop":2736.0648524342605},{"b":"OrderCirceBench.eoStreetIor","p":"size=8","ns":609.5858462926682,"ns_err":8.848132022639696,"bop":2736.013335859067},{"b":"OrderCirceBench.hcursorNames","p":"size=512","ns":135867.96728901786,"ns_err":3572.9139853631445,"bop":609804.8947989043},{"b":"OrderCirceBench.hcursorNames","p":"size=64","ns":17339.277444818268,"ns_err":651.39406697249,"bop":77257.82776974449},{"b":"OrderCirceBench.hcursorNames","p":"size=8","ns":2356.9742534644693,"ns_err":79.47794674630556,"bop":10696.052313332537},{"b":"OrderCirceBench.hcursorStreet","p":"size=512","ns":711.7013184531047,"ns_err":53.17276860577767,"bop":3032.5617758740404},{"b":"OrderCirceBench.hcursorStreet","p":"size=64","ns":691.7127055455259,"ns_err":22.828349974611132,"bop":3032.0719000528215},{"b":"OrderCirceBench.hcursorStreet","p":"size=8","ns":673.6922556718542,"ns_err":11.498440032106524,"bop":3032.0147613166578},{"b":"OrderCirceBench.monocleNames","p":"size=512","ns":189273.98890567909,"ns_err":2993.7679659757996,"bop":1121735.1738813657},{"b":"OrderCirceBench.monocleNames","p":"size=64","ns":18595.447668449233,"ns_err":535.2224106052863,"bop":132766.99707402015},{"b":"OrderCirceBench.monocleNames","p":"size=8","ns":3119.850724834089,"ns_err":56.72410607397926,"bop":19477.393140661818},{"b":"OrderCirceBench.monocleStreet","p":"size=512","ns":146025.19770017077,"ns_err":1402.9427285031506,"bop":908002.1282910063},{"b":"OrderCirceBench.monocleStreet","p":"size=64","ns":15821.433338792687,"ns_err":378.33411533900045,"bop":113809.41592086633},{"b":"OrderCirceBench.monocleStreet","p":"size=8","ns":2700.5056853230785,"ns_err":75.47389229822508,"bop":17053.385093679793},{"b":"OrderCirceBench.naiveNames","p":"size=512","ns":163938.0700053517,"ns_err":7360.959718255185,"bop":965246.1643062009},{"b":"OrderCirceBench.naiveNames","p":"size=64","ns":16912.12441880703,"ns_err":305.8396573735099,"bop":120825.51270288476},{"b":"OrderCirceBench.naiveNames","p":"size=8","ns":2810.1005727712636,"ns_err":59.89285801838023,"bop":17808.05394030635},{"b":"OrderCirceBench.naiveStreet","p":"size=512","ns":149523.75444608854,"ns_err":2282.8443998288717,"bop":908009.8127091707},{"b":"OrderCirceBench.naiveStreet","p":"size=64","ns":16091.243577305015,"ns_err":453.9261328242431,"bop":113801.43984786114},{"b":"OrderCirceBench.naiveStreet","p":"size=8","ns":2727.5990953070373,"ns_err":63.95666297356571,"bop":17040.05225233535},{"b":"OrderJsoniterBench.eoModifyStreet","p":"size=512","ns":5497.161793367551,"ns_err":83.64953238807145,"bop":42028.941079595235},{"b":"OrderJsoniterBench.eoModifyStreet","p":"size=64","ns":830.6824595449875,"ns_err":16.257109061313802,"bop":5432.096335510993},{"b":"OrderJsoniterBench.eoModifyStreet","p":"size=8","ns":213.82557586294013,"ns_err":11.089960779596142,"bop":1080.0049227272393},{"b":"OrderJsoniterBench.eoReadStreet","p":"size=512","ns":129.99896663560122,"ns_err":5.559645267022624,"bop":109.45028097821411},{"b":"OrderJsoniterBench.eoReadStreet","p":"size=64","ns":128.89438639171823,"ns_err":4.378107389097411,"bop":109.34830090300669},{"b":"OrderJsoniterBench.eoReadStreet","p":"size=8","ns":125.87742887889921,"ns_err":2.30912276909913,"bop":90.66956498415377},{"b":"OrderJsoniterBench.eoSumPrices","p":"size=512","ns":59361.464277168394,"ns_err":1761.6569964961518,"bop":63711.8789427889},{"b":"OrderJsoniterBench.eoSumPrices","p":"size=64","ns":7662.413079632455,"ns_err":375.2227096724838,"bop":8120.886285495659},{"b":"OrderJsoniterBench.eoSumPrices","p":"size=8","ns":998.107525674284,"ns_err":32.70295669210989,"bop":1176.0229870109722},{"b":"OrderJsoniterBench.monocleModifyStreet","p":"size=512","ns":106445.44431584673,"ns_err":4506.550913390244,"bop":333473.64177505235},{"b":"OrderJsoniterBench.monocleModifyStreet","p":"size=64","ns":12360.37304167289,"ns_err":434.68350158095285,"bop":30081.24509579381},{"b":"OrderJsoniterBench.monocleModifyStreet","p":"size=8","ns":1988.863228752651,"ns_err":33.39653155841127,"bop":4664.041982634104},{"b":"OrderJsoniterBench.monocleReadStreet","p":"size=512","ns":55727.5219312718,"ns_err":2747.3955273586967,"bop":193199.7089502715},{"b":"OrderJsoniterBench.monocleReadStreet","p":"size=64","ns":6845.953578067273,"ns_err":225.32937033436878,"bop":24704.700261861333},{"b":"OrderJsoniterBench.monocleReadStreet","p":"size=8","ns":1106.9254737960116,"ns_err":22.493826578244427,"bop":3648.023573997151},{"b":"OrderJsoniterBench.monocleSumPrices","p":"size=512","ns":302491.18152958783,"ns_err":18291.478367481628,"bop":1178338.8995676476},{"b":"OrderJsoniterBench.monocleSumPrices","p":"size=64","ns":10097.38206318961,"ns_err":333.591218676442,"bop":45841.032966774525},{"b":"OrderJsoniterBench.monocleSumPrices","p":"size=8","ns":1620.9035876197236,"ns_err":59.82131801688485,"bop":6445.367828894823},{"b":"OrderJsoniterBench.naiveModifyStreet","p":"size=512","ns":107342.74242802129,"ns_err":4232.602668414913,"bop":333466.31725139305},{"b":"OrderJsoniterBench.naiveModifyStreet","p":"size=64","ns":12129.878426061461,"ns_err":323.76384402094726,"bop":30057.221772693305},{"b":"OrderJsoniterBench.naiveModifyStreet","p":"size=8","ns":2015.1083214847515,"ns_err":53.039523947142925,"bop":4640.04254466129},{"b":"OrderJsoniterBench.naiveReadStreet","p":"size=512","ns":55926.84170761096,"ns_err":2328.3723258953783,"bop":193199.87242726388},{"b":"OrderJsoniterBench.naiveReadStreet","p":"size=64","ns":7037.722062484407,"ns_err":358.9609405348171,"bop":24704.72001604613},{"b":"OrderJsoniterBench.naiveReadStreet","p":"size=8","ns":1131.6502278258797,"ns_err":50.45948524447567,"bop":3648.024104946661},{"b":"OrderJsoniterBench.naiveSumPrices","p":"size=512","ns":58612.23381277546,"ns_err":1852.9263614156546,"bop":230090.21194184697},{"b":"OrderJsoniterBench.naiveSumPrices","p":"size=64","ns":7395.956772366981,"ns_err":175.90795071502757,"bop":29336.756489156935},{"b":"OrderJsoniterBench.naiveSumPrices","p":"size=8","ns":1164.6020987617192,"ns_err":19.53977467259037,"bop":4248.0247882283575},{"b":"OrderJsoniterBench.nativeReadStreet","p":"size=512","ns":25173.2892938806,"ns_err":782.5361493680743,"bop":445.0471189515421},{"b":"OrderJsoniterBench.nativeReadStreet","p":"size=64","ns":3200.0971374060396,"ns_err":116.75958536213123,"bop":424.3451149560281},{"b":"OrderJsoniterBench.nativeReadStreet","p":"size=8","ns":569.7406284943528,"ns_err":14.816149805707225,"bop":424.012321475337},{"b":"OrderJsoniterBench.nativeSumPrices","p":"size=512","ns":43656.29764093118,"ns_err":2037.9714980717254,"bop":86268.10297442073},{"b":"OrderJsoniterBench.nativeSumPrices","p":"size=64","ns":5282.615093250046,"ns_err":229.6364977509952,"bop":10920.570965645935},{"b":"OrderJsoniterBench.nativeSumPrices","p":"size=8","ns":748.895056762947,"ns_err":32.952479890201936,"bop":1512.016233037691},{"b":"PlatedBench.eoTransformDeep","p":"n=4096","ns":113326.86329751558,"ns_err":2754.6142796706904,"bop":624378.4831253196},{"b":"PlatedBench.eoTransformDeep","p":"n=512","ns":10667.51334600209,"ns_err":288.77278870825256,"bop":57361.08922839556},{"b":"PlatedBench.eoTransformDeep","p":"n=64","ns":1196.8028769454488,"ns_err":27.05573248529966,"bop":7184.023876857154},{"b":"PlatedBench.eoTransformExpr","p":"n=4096","ns":108826.06734007079,"ns_err":7367.475199360674,"bop":655343.2095323768},{"b":"PlatedBench.eoTransformExpr","p":"n=512","ns":13313.634240039855,"ns_err":265.03953857433754,"bop":81825.36710313718},{"b":"PlatedBench.eoTransformExpr","p":"n=64","ns":1701.4444991619825,"ns_err":23.088711728647947,"bop":10144.03352473673},{"b":"PlatedBench.eoUniverseDeep","p":"n=4096","ns":145025.35454452582,"ns_err":3131.27810191204,"bop":786609.5533544781},{"b":"PlatedBench.eoUniverseDeep","p":"n=512","ns":14161.139897525658,"ns_err":537.3539521434523,"bop":98377.44685237459},{"b":"PlatedBench.eoUniverseDeep","p":"n=64","ns":1580.6287568528717,"ns_err":56.949201100587615,"bop":12360.030645458655},{"b":"PlatedBench.eoUniverseExpr","p":"n=4096","ns":145392.69866734184,"ns_err":3046.3702934345324,"bop":786417.8226061481},{"b":"PlatedBench.eoUniverseExpr","p":"n=512","ns":14006.630015951481,"ns_err":308.20765402234736,"bop":98185.43798016824},{"b":"PlatedBench.eoUniverseExpr","p":"n=64","ns":1597.6432290615653,"ns_err":81.03345128586669,"bop":12168.031056379632},{"b":"PlatedBench.eoUniverseJson","p":"n=4096","ns":200009.62155790636,"ns_err":6961.683815445055,"bop":786457.5638885382},{"b":"PlatedBench.eoUniverseJson","p":"n=512","ns":20510.454078897736,"ns_err":519.2104785573895,"bop":98186.10600482395},{"b":"PlatedBench.eoUniverseJson","p":"n=64","ns":2520.932908563539,"ns_err":107.5513547362464,"bop":12168.049025981754},{"b":"PlatedBench.mTransformExpr","p":"n=4096","ns":114486.64247984774,"ns_err":3342.9019291195173,"bop":753699.3311247504},{"b":"PlatedBench.mTransformExpr","p":"n=512","ns":10687.409059027419,"ns_err":179.05110022205554,"bop":69585.09146956455},{"b":"PlatedBench.mTransformExpr","p":"n=64","ns":1875.5510519649624,"ns_err":89.00247964771555,"bop":11728.036320352714},{"b":"PlatedBench.mUniverseExpr","p":"n=4096","ns":3858618.694672252,"ns_err":208770.9635493467,"bop":4688483.203125511},{"b":"PlatedBench.mUniverseExpr","p":"n=512","ns":256141.0113601419,"ns_err":7774.925771980915,"bop":475018.1638828731},{"b":"PlatedBench.mUniverseExpr","p":"n=64","ns":22972.415347527687,"ns_err":527.2094092252885,"bop":45424.44621832085},{"b":"PlatedBench.mUniverseJson","p":"n=4096","ns":4183490.9687565393,"ns_err":222157.68001240888,"bop":6490581.532516218},{"b":"PlatedBench.mUniverseJson","p":"n=512","ns":298099.65506466606,"ns_err":10105.468502788433,"bop":699926.4488199939},{"b":"PlatedBench.mUniverseJson","p":"n=64","ns":26607.1681225128,"ns_err":691.3490450589223,"bop":73208.51917630428},{"b":"PlatedBench.visitorTransformDeep","p":"n=4096","ns":28478.57934799382,"ns_err":730.9242339432931,"bop":163876.72945633193},{"b":"PlatedBench.visitorTransformDeep","p":"n=512","ns":3335.768019515214,"ns_err":85.9237455181272,"bop":20496.342334300552},{"b":"PlatedBench.visitorTransformDeep","p":"n=64","ns":388.62671017285595,"ns_err":11.703003542962861,"bop":2576.0075320980523},{"b":"PlatedBench.visitorTransformExpr","p":"n=4096","ns":53102.54536143544,"ns_err":716.4680155275288,"bop":360462.6529653266},{"b":"PlatedBench.visitorTransformExpr","p":"n=512","ns":5965.491240719854,"ns_err":159.6143212188898,"bop":45032.609341554766},{"b":"PlatedBench.visitorTransformExpr","p":"n=64","ns":809.7262671231695,"ns_err":21.02576275038854,"bop":5608.015683687886},{"b":"PlatedBench.visitorUniverseDeep","p":"n=4096","ns":48077.12195380631,"ns_err":783.59878410929,"bop":196698.99514605384},{"b":"PlatedBench.visitorUniverseDeep","p":"n=512","ns":5400.2076042256285,"ns_err":111.46078442487011,"bop":24632.55442614816},{"b":"PlatedBench.visitorUniverseDeep","p":"n=64","ns":607.2512442307382,"ns_err":20.884834466058468,"bop":3128.011783731878},{"b":"PlatedBench.visitorUniverseExpr","p":"n=4096","ns":52303.395956813154,"ns_err":1145.9447675055546,"bop":196654.07089227327},{"b":"PlatedBench.visitorUniverseExpr","p":"n=512","ns":6284.338610883802,"ns_err":162.10322793327845,"bop":24584.644885061905},{"b":"PlatedBench.visitorUniverseExpr","p":"n=64","ns":605.0746401531567,"ns_err":10.727389328787737,"bop":3080.0117429675056},{"b":"PlatedBench.visitorUniverseJson","p":"n=4096","ns":119428.02838450644,"ns_err":36166.3189021144,"bop":374558.92618920346},{"b":"PlatedBench.visitorUniverseJson","p":"n=512","ns":21600.73205383396,"ns_err":500.1548966225451,"bop":40954.205327765034},{"b":"PlatedBench.visitorUniverseJson","p":"n=64","ns":1725.3274272049864,"ns_err":54.377733404348184,"bop":4424.033408389246},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=1024","ns":9886.903553545058,"ns_err":200.8207593432894,"bop":41412.68405968187},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=16","ns":171.7775964671853,"ns_err":9.4046767952636,"bop":1088.0024340069237},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=256","ns":2661.291340746434,"ns_err":138.54407287092545,"bop":10688.426246995736},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=4","ns":76.91557518453008,"ns_err":2.1561080850438925,"bop":608.0007369715563},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=4096","ns":41538.48808031622,"ns_err":1898.2823593009011,"bop":164355.9534734016},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=64","ns":551.5574548341689,"ns_err":11.847385021190332,"bop":3008.0183776256613},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=1024","ns":49643.00936264896,"ns_err":838.4067978196697,"bop":279425.67004389176},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=16","ns":504.52263915929217,"ns_err":10.362149965684006,"bop":3720.0070386780294},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=256","ns":16763.25671444325,"ns_err":388.5842151605266,"bop":107338.58407992678},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=4","ns":130.94711055792172,"ns_err":4.9581765781747285,"bop":1176.00127233528},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=4096","ns":194302.59781929184,"ns_err":4965.909791738475,"bop":967868.3930469467},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=64","ns":2150.615728811223,"ns_err":37.77253373144294,"bop":14520.068148981156},{"b":"PowerSeriesBench.naive_powerEach","p":"size=1024","ns":5159.86136966966,"ns_err":108.27646525660346,"bop":28730.445365277334},{"b":"PowerSeriesBench.naive_powerEach","p":"size=16","ns":71.41390115079761,"ns_err":1.1280016037861167,"bop":504.0010281525158},{"b":"PowerSeriesBench.naive_powerEach","p":"size=256","ns":1262.781644957125,"ns_err":16.611723973868855,"bop":7224.202512821224},{"b":"PowerSeriesBench.naive_powerEach","p":"size=4","ns":19.49974781725556,"ns_err":0.6666768252991331,"bop":168.00019193022098},{"b":"PowerSeriesBench.naive_powerEach","p":"size=4096","ns":23758.904852823678,"ns_err":760.9067137969253,"bop":114783.00598419734},{"b":"PowerSeriesBench.naive_powerEach","p":"size=64","ns":336.2020993895988,"ns_err":4.844904439815341,"bop":1848.0111771903341},{"b":"PowerSeriesNestedBench.eoModify_nested","p":"size=1024","ns":49951.57583719673,"ns_err":1641.57943919226,"bop":210533.60779359489},{"b":"PowerSeriesNestedBench.eoModify_nested","p":"size=16","ns":970.3782410121499,"ns_err":27.24990506902386,"bop":4744.03603373497},{"b":"PowerSeriesNestedBench.eoModify_nested","p":"size=256","ns":14139.472708125444,"ns_err":281.2055642443981,"bop":53696.9095024115},{"b":"PowerSeriesNestedBench.eoModify_nested","p":"size=4","ns":441.6230087400239,"ns_err":12.443069096475368,"bop":2264.0080654173335},{"b":"PowerSeriesNestedBench.eoModify_nested","p":"size=64","ns":3800.520522102501,"ns_err":170.28080641691557,"bop":14616.435974943939},{"b":"PowerSeriesNestedBench.monocle_nested","p":"size=1024","ns":221339.49958108107,"ns_err":6741.545744011926,"bop":1118802.9400819284},{"b":"PowerSeriesNestedBench.monocle_nested","p":"size=16","ns":2462.493681961436,"ns_err":111.28111402068062,"bop":15776.088656198875},{"b":"PowerSeriesNestedBench.monocle_nested","p":"size=256","ns":71544.36667006364,"ns_err":1584.1187095168932,"bop":430203.3018589328},{"b":"PowerSeriesNestedBench.monocle_nested","p":"size=4","ns":908.218681306709,"ns_err":24.21978964088619,"bop":5536.016584164488},{"b":"PowerSeriesNestedBench.monocle_nested","p":"size=64","ns":8092.029612704589,"ns_err":268.3124683843752,"bop":58859.548140108796},{"b":"PowerSeriesNestedBench.naive_nested","p":"size=1024","ns":19826.424165189146,"ns_err":650.6467205021083,"bop":115068.10425595104},{"b":"PowerSeriesNestedBench.naive_nested","p":"size=16","ns":309.9058288265854,"ns_err":11.473710328491352,"bop":2136.0116962454667},{"b":"PowerSeriesNestedBench.naive_nested","p":"size=256","ns":4900.489857879714,"ns_err":120.25511038489114,"bop":29019.10002615233},{"b":"PowerSeriesNestedBench.naive_nested","p":"size=4","ns":95.00717270722949,"ns_err":3.2509239123476514,"bop":792.0017912839041},{"b":"PowerSeriesNestedBench.naive_nested","p":"size=64","ns":1230.1260369871302,"ns_err":26.064451927726466,"bop":7512.141847565977},{"b":"PowerSeriesPrismBench.eoModify_sparse","p":"size=128","ns":1238.6818417823054,"ns_err":95.16764864406643,"bop":4816.0717428933585},{"b":"PowerSeriesPrismBench.eoModify_sparse","p":"size=2048","ns":19756.048617149234,"ns_err":405.9359431955765,"bop":104687.91655085103},{"b":"PowerSeriesPrismBench.eoModify_sparse","p":"size=32","ns":298.23143545663737,"ns_err":7.425590687683493,"bop":1360.0059527618116},{"b":"PowerSeriesPrismBench.eoModify_sparse","p":"size=512","ns":5004.917329425053,"ns_err":104.02124708499737,"bop":24785.373690863133},{"b":"PowerSeriesPrismBench.eoModify_sparse","p":"size=8","ns":87.75327435612537,"ns_err":2.510869442060576,"bop":496.00094316656913},{"b":"PowerSeriesPrismBench.monocle_sparse","p":"size=128","ns":3997.0538902857106,"ns_err":136.14378978207816,"bop":27808.200828411635},{"b":"PowerSeriesPrismBench.monocle_sparse","p":"size=2048","ns":97801.61816865187,"ns_err":8555.552523427452,"bop":523143.68051827507},{"b":"PowerSeriesPrismBench.monocle_sparse","p":"size=32","ns":1131.4045584222467,"ns_err":27.346793441005822,"bop":7024.020760816641},{"b":"PowerSeriesPrismBench.monocle_sparse","p":"size=512","ns":27484.73595112586,"ns_err":720.6382913353785,"bop":166680.5219645309},{"b":"PowerSeriesPrismBench.monocle_sparse","p":"size=8","ns":294.5263924355277,"ns_err":20.724907819926745,"bop":1952.0030867104313},{"b":"PowerSeriesPrismBench.naive_sparse","p":"size=128","ns":323.5740122089893,"ns_err":9.726779452354355,"bop":1568.019698540001},{"b":"PowerSeriesPrismBench.naive_sparse","p":"size=2048","ns":3810.4282829574618,"ns_err":94.07324951200931,"bop":24611.22403102026},{"b":"PowerSeriesPrismBench.naive_sparse","p":"size=32","ns":82.70900742259704,"ns_err":1.6289262015692854,"bop":416.0017341554394},{"b":"PowerSeriesPrismBench.naive_sparse","p":"size=512","ns":1163.6598036248572,"ns_err":41.86627913619592,"bop":6176.333854196705},{"b":"PowerSeriesPrismBench.naive_sparse","p":"size=8","ns":17.014284848528423,"ns_err":0.38059239759239166,"bop":128.00018979174232},{"b":"PrismBench.eoGetOptionAbsent","p":"-","ns":0.5990317799825728,"ns_err":0.013828198443928222,"bop":4.183616493533332e-06},{"b":"PrismBench.eoGetOptionPresent","p":"-","ns":0.5965243495678137,"ns_err":0.018773629210606508,"bop":4.1684355597946165e-06},{"b":"PrismBench.eoGetRightAbsent","p":"-","ns":0.6668732821868926,"ns_err":0.016652713196594664,"bop":4.658848126361513e-06},{"b":"PrismBench.eoGetRightPresent","p":"-","ns":2.116511557149468,"ns_err":0.07282820625087581,"bop":16.000014891278024},{"b":"PrismBench.eoReverseGet","p":"-","ns":2.339798390765709,"ns_err":0.056856317040022725,"bop":16.000016436899397},{"b":"PrismBench.eoRightReverseGet","p":"-","ns":2.3130606728800753,"ns_err":0.1105411556740808,"bop":16.000016262306513},{"b":"PrismBench.mGetOptionAbsent","p":"-","ns":0.6650775771375484,"ns_err":0.01431419330661165,"bop":4.643459257942742e-06},{"b":"PrismBench.mGetOptionPresent","p":"-","ns":0.6614875730583842,"ns_err":0.014359301011158879,"bop":4.618382820362227e-06},{"b":"PrismBench.mGetRightAbsent","p":"-","ns":0.7443308494500825,"ns_err":0.016182883571905254,"bop":5.199834189184758e-06},{"b":"PrismBench.mGetRightPresent","p":"-","ns":2.1812816336100367,"ns_err":0.050725982978448624,"bop":16.00001534390213},{"b":"PrismBench.mReverseGet","p":"-","ns":2.2704879780769978,"ns_err":0.12214012511258664,"bop":16.000015984252123},{"b":"PrismBench.mRightReverseGet","p":"-","ns":2.264515024179781,"ns_err":0.06405739300519907,"bop":16.000015912281675},{"b":"ReviewBench.eoReverseGet_0","p":"-","ns":2.147342255795131,"ns_err":0.05435828078045455,"bop":24.000015135766276},{"b":"ReviewBench.eoReverseGet_3","p":"-","ns":19.352204448779617,"ns_err":0.3856150161836157,"bop":72.00013593868646},{"b":"ReviewBench.eoReverseGet_6","p":"-","ns":32.27713312292395,"ns_err":0.5252494201052833,"bop":120.00022674873716},{"b":"ReviewBench.naiveBuild_0","p":"-","ns":2.0316744482015494,"ns_err":0.04206883169839931,"bop":24.000014307235162},{"b":"ReviewBench.naiveBuild_3","p":"-","ns":5.975845527426267,"ns_err":0.054880127179077025,"bop":72.00004209479044},{"b":"ReviewBench.naiveBuild_6","p":"-","ns":9.755879468580417,"ns_err":0.18695122786751686,"bop":120.00006861692427},{"b":"SchemesBench.drosteAna","p":"-","ns":47082.23078247081,"ns_err":3478.9416130894665,"bop":327632.3328259582},{"b":"SchemesBench.drosteCata","p":"-","ns":41900.65059962542,"ns_err":1702.6676708304203,"bop":164824.2965036812},{"b":"SchemesBench.drosteHylo","p":"-","ns":49002.283762023304,"ns_err":3275.7522880524593,"bop":328640.346755968},{"b":"SchemesBench.eoAna","p":"-","ns":83808.19733699574,"ns_err":2296.997792022209,"bop":589712.5950470959},{"b":"SchemesBench.eoCata","p":"-","ns":66151.1201234879,"ns_err":1339.6719505969472,"bop":197568.47004189403},{"b":"SchemesBench.eoHylo","p":"-","ns":69268.71807489463,"ns_err":6246.761637454342,"bop":295848.4915036655},{"b":"SchemesBench.handAna","p":"-","ns":29080.79508204234,"ns_err":1333.5681012828836,"bop":163816.20567312874},{"b":"SchemesBench.handCata","p":"-","ns":9223.95689095937,"ns_err":178.3636244263236,"bop":0.06443968419368469},{"b":"SchemesBench.handHylo","p":"-","ns":6835.246639893958,"ns_err":179.9928620130268,"bop":0.04780938508120948},{"b":"SetterBench.eoModify_0","p":"-","ns":2.3143308948143195,"ns_err":0.22425567729252757,"bop":24.00001629095201},{"b":"SetterBench.eoModify_3","p":"-","ns":8.631480239942672,"ns_err":0.21165115049432112,"bop":72.00006070838798},{"b":"SetterBench.eoModify_6","p":"-","ns":17.894684143710215,"ns_err":0.7162656912977052,"bop":120.00012595592742},{"b":"SetterBench.eoModify_orderId","p":"-","ns":3.0314582877935465,"ns_err":0.1803371875211043,"bop":40.00002132682657},{"b":"SetterBench.mModify_0","p":"-","ns":2.2042977933435943,"ns_err":0.03961588387340353,"bop":24.00001552193056},{"b":"SetterBench.mModify_3","p":"-","ns":21.725456867499915,"ns_err":1.0093401931411752,"bop":168.00015275984342},{"b":"SetterBench.mModify_6","p":"-","ns":41.492195693924835,"ns_err":1.4344172412782104,"bop":288.0002916555772},{"b":"SetterBench.mModify_orderId","p":"-","ns":3.052759712257742,"ns_err":0.38342499558325627,"bop":40.00002148648546},{"b":"TraversalBench.eoFoldNested","p":"size=512","ns":4042.4562722190103,"ns_err":67.78414866646744,"bop":20200.641788115434},{"b":"TraversalBench.eoFoldNested","p":"size=64","ns":464.955145720755,"ns_err":7.885190573648702,"bop":2680.0118149793516},{"b":"TraversalBench.eoFoldNested","p":"size=8","ns":40.476034094501564,"ns_err":6.099589818354245,"bop":360.00038455868105},{"b":"TraversalBench.eoFoldPrices","p":"size=512","ns":1699.8754261384736,"ns_err":21.884716719539778,"bop":12312.269906781505},{"b":"TraversalBench.eoFoldPrices","p":"size=64","ns":149.76087889928073,"ns_err":1.613439685182996,"bop":1560.0038061412074},{"b":"TraversalBench.eoFoldPrices","p":"size=8","ns":18.534473243160086,"ns_err":0.3611843258617739,"bop":216.0001762757711},{"b":"TraversalBench.eoModify","p":"size=512","ns":6353.545940489272,"ns_err":104.66446245851506,"bop":36897.010046018106},{"b":"TraversalBench.eoModify","p":"size=64","ns":723.0483416654315,"ns_err":17.490868912341988,"bop":4640.0183686072705},{"b":"TraversalBench.eoModify","p":"size=8","ns":77.72776294383517,"ns_err":2.644721832847091,"bop":608.0007389851457},{"b":"TraversalBench.mFoldPrices","p":"size=512","ns":24631.93702932583,"ns_err":313.4672993406105,"bop":162563.91098844743},{"b":"TraversalBench.mFoldPrices","p":"size=64","ns":2183.9705954577707,"ns_err":16.824044918681626,"bop":15408.05551066715},{"b":"TraversalBench.mFoldPrices","p":"size=8","ns":265.50382249610965,"ns_err":9.397932481647583,"bop":2000.002525392794},{"b":"TraversalBench.mModify","p":"size=512","ns":28880.667396213874,"ns_err":400.6338580138734,"bop":176887.0124841099},{"b":"TraversalBench.mModify","p":"size=64","ns":2024.9836409791612,"ns_err":37.87691072590304,"bop":14408.051472866979},{"b":"TraversalBench.mModify","p":"size=8","ns":240.9473801694091,"ns_err":8.794758401976228,"bop":1896.002291338889},{"b":"ZioDiBench.eoDrillGet","p":"-","ns":6.549018251339132,"ns_err":0.15352485619095763,"bop":4.579286240850702e-05},{"b":"ZioDiBench.eoDrillModify","p":"-","ns":76.63819333576193,"ns_err":4.76199921853922,"bop":472.0005395392225},{"b":"ZioDiBench.eoServiceGet","p":"-","ns":3.5316380630719366,"ns_err":0.06398450507300103,"bop":2.4679959462106775e-05},{"b":"ZioDiBench.eoServiceReplace","p":"-","ns":68.83396418403314,"ns_err":0.3649794939738565,"bop":400.00048443809123},{"b":"ZioDiBench.handDrillGet","p":"-","ns":10.70144043373347,"ns_err":0.23996595741612767,"bop":120.00007529280191},{"b":"ZioDiBench.handDrillModify","p":"-","ns":92.52960708549334,"ns_err":0.6355911087557794,"bop":592.000651193266},{"b":"ZioDiBench.handServiceGet","p":"-","ns":10.304575385742229,"ns_err":0.2539283250480368,"bop":120.00007245153968},{"b":"ZioDiBench.handServiceReplace","p":"-","ns":85.02086094462457,"ns_err":5.25560063687429,"bop":520.0005983552344}]}
+{"source_sha":"462e037b7df74c393ecb5ad4a2d0b8b7d2b4bf96","date":"2026-10-03","jdk":"temurin-21","runner":"ubuntu-22.04","jmh_params":"-i 5 -wi 3 -f 3 -t 1 -foe true -prof gc -rf json -jvmArgsAppend -XX:-ResizeTLAB -jvmArgsAppend -Xms1g -jvmArgsAppend -Xmx1g","profile":"sweep:-i5-wi3-f3-t1-gc-rt1g","results":[{"b":"AffineFoldBench.eoGetOption_0","p":"-","ns":0.8132662169842294,"ns_err":0.008494667793129242,"bop":5.682762573914563e-06},{"b":"AffineFoldBench.eoGetOption_0_asAffineFold","p":"-","ns":0.6995692404785633,"ns_err":0.05024467682465422,"bop":4.88366026233335e-06},{"b":"AffineFoldBench.eoGetOption_0_asOptional","p":"-","ns":2.477893794052311,"ns_err":0.01574238373111811,"bop":16.000017406831525},{"b":"AffineFoldBench.eoGetOption_0_empty","p":"-","ns":0.7731419494554793,"ns_err":0.051404144493887444,"bop":5.40746292287013e-06},{"b":"AffineFoldBench.eoGetOption_3","p":"-","ns":9.208711375720863,"ns_err":0.05592344031731883,"bop":16.000064740588204},{"b":"AffineFoldBench.eoGetOption_6","p":"-","ns":18.660184078930108,"ns_err":0.09454255256270733,"bop":16.000131403023513},{"b":"AffineFoldBench.eoGetOption_loyalty","p":"-","ns":0.7859296028743293,"ns_err":0.005148529456071295,"bop":5.490156390942932e-06},{"b":"AffineFoldBench.eoGetOption_loyalty_empty","p":"-","ns":0.7943154066265018,"ns_err":0.0074579634240906625,"bop":5.5522636623280735e-06},{"b":"AffineFoldBench.mGetOption_0","p":"-","ns":0.6841184327271596,"ns_err":0.010000142053870764,"bop":4.774888106253086e-06},{"b":"AffineFoldBench.mGetOption_0_empty","p":"-","ns":0.6775658499067383,"ns_err":0.011804261718931135,"bop":4.7350565987328e-06},{"b":"AffineFoldBench.mGetOption_3","p":"-","ns":6.204606160971813,"ns_err":0.061835107791631386,"bop":4.3368453929027235e-05},{"b":"AffineFoldBench.mGetOption_6","p":"-","ns":16.32572729777316,"ns_err":0.41131198858447715,"bop":0.00011404964009741124},{"b":"AffineFoldBench.mGetOption_loyalty","p":"-","ns":0.7857403544436689,"ns_err":0.006146668878073095,"bop":5.487295974201764e-06},{"b":"AffineFoldBench.mGetOption_loyalty_empty","p":"-","ns":0.784800969106662,"ns_err":0.006889050390799394,"bop":5.490867181552481e-06},{"b":"AvroBytesBench.eoGraftPayload","p":"-","ns":110.11111447169988,"ns_err":0.2246528111451977,"bop":720.0020517918085},{"b":"AvroBytesBench.eoModifyCountry","p":"-","ns":236.903026505369,"ns_err":4.916431085373885,"bop":928.0042612807476},{"b":"AvroBytesBench.eoModifyPartner","p":"-","ns":278.19410193059906,"ns_err":1.3459945731205798,"bop":984.0049829600824},{"b":"AvroBytesBench.eoReadCountry","p":"-","ns":133.55508265539837,"ns_err":2.611971618200567,"bop":520.0022731471234},{"b":"AvroBytesBench.eoReadPartner","p":"-","ns":144.89345630489098,"ns_err":1.6332302577705498,"bop":480.00246445570605},{"b":"AvroBytesBench.eoSliceGraftPayload","p":"-","ns":211.92409916612198,"ns_err":2.1742098708030326,"bop":1192.003892683592},{"b":"AvroBytesBench.naiveModifyCountry","p":"-","ns":2131.4085484922534,"ns_err":20.563331544181654,"bop":7616.035699667899},{"b":"AvroBytesBench.naiveModifyPartner","p":"-","ns":2513.8813627580957,"ns_err":49.05373670751524,"bop":8696.04211808139},{"b":"AvroBytesBench.naivePassthroughPayload","p":"-","ns":4091.175482319299,"ns_err":30.894440640950037,"bop":14088.068542385527},{"b":"AvroBytesBench.naiveReadCountry","p":"-","ns":1278.558565478393,"ns_err":11.636388425088837,"bop":4256.021739753169},{"b":"AvroBytesBench.naiveReadPartner","p":"-","ns":1638.2801683400112,"ns_err":45.12361257192958,"bop":5424.027867255948},{"b":"AvroBytesBench.prunedReadCountry","p":"-","ns":772.334970420759,"ns_err":12.616741359428417,"bop":1976.013138297067},{"b":"AvroBytesBench.prunedReadPartner","p":"-","ns":538.1765627827099,"ns_err":5.411096481909644,"bop":1592.00915094081},{"b":"AvroDecodeReuseBench.cachedDecodeRecord","p":"-","ns":273.955407815618,"ns_err":1.3545790799670467,"bop":1224.002930979548},{"b":"AvroDecodeReuseBench.confluentRecordReader","p":"-","ns":311.9988829681867,"ns_err":5.610856487249602,"bop":1541.3366735085253},{"b":"AvroDecodeReuseBench.confluentRecordReaderFresh","p":"-","ns":1161.3048199194316,"ns_err":21.65640858497599,"bop":3696.012419881207},{"b":"AvroDecodeReuseBench.freshDecodeRecord","p":"-","ns":1090.6828114674697,"ns_err":11.8632573959393,"bop":3344.011666297771},{"b":"AvroEncodeRouteBench.eo_encodeToAny","p":"-","ns":48.411271599001154,"ns_err":0.5088121950252162,"bop":312.0003403953919},{"b":"AvroEncodeRouteBench.eo_encodeValue","p":"-","ns":448.63162188252767,"ns_err":11.597320614416471,"bop":568.0031563706393},{"b":"AvroEncodeRouteBench.handwritten_stream","p":"-","ns":143.57403566073788,"ns_err":6.836083151032024,"bop":240.00100945902386},{"b":"AvroEncodeRouteBench.naive_freshPlumbing","p":"-","ns":704.5118408613251,"ns_err":7.1861386164723,"bop":2624.0049551467464},{"b":"AvroJsonBridgeBench.eoClickToAvro","p":"-","ns":2276.7552125319403,"ns_err":14.447329088302421,"bop":4674.683830519442},{"b":"AvroJsonBridgeBench.eoClickToJson","p":"-","ns":2138.0518268282954,"ns_err":28.847452435255462,"bop":3962.681711331624},{"b":"AvroJsonBridgeBench.eoWideToAvro","p":"-","ns":650.6663508218414,"ns_err":7.40069216880996,"bop":2024.0050835123882},{"b":"AvroJsonBridgeBench.eoWideToJson","p":"-","ns":472.30675467111087,"ns_err":13.028700029996163,"bop":1472.0033280080825},{"b":"AvroJsonBridgeBench.naiveClickToAvro","p":"-","ns":1314.3619382761292,"ns_err":20.94697959183955,"bop":3928.009244557798},{"b":"AvroJsonBridgeBench.naiveClickToJson","p":"-","ns":2322.8852158452623,"ns_err":27.83053223086735,"bop":5856.016345050114},{"b":"AvroJsonBridgeBench.naiveWideToAvro","p":"-","ns":963.2118991343856,"ns_err":10.141066014144629,"bop":3504.006776783559},{"b":"AvroJsonBridgeBench.naiveWideToJson","p":"-","ns":1427.3530126701776,"ns_err":10.450403325234113,"bop":4376.010036258545},{"b":"AvroVulcanBench.decode_bridged","p":"-","ns":141.52377420438881,"ns_err":0.8471753854471575,"bop":832.0009948601412},{"b":"AvroVulcanBench.decode_native","p":"-","ns":11.289096812535272,"ns_err":0.033494569199885346,"bop":48.00007935327536},{"b":"AvroVulcanBench.decode_vulcanRaw","p":"-","ns":139.24460564833277,"ns_err":0.5022232196923885,"bop":832.0009793835358},{"b":"AvroVulcanBench.encode_bridged","p":"-","ns":182.22258991534466,"ns_err":1.1966747424700142,"bop":1224.0012830651167},{"b":"AvroVulcanBench.encode_native","p":"-","ns":9.975145273694856,"ns_err":0.2791662180366138,"bop":56.00007010896818},{"b":"AvroVulcanBench.encode_vulcanRaw","p":"-","ns":183.13638340292735,"ns_err":2.243201695111591,"bop":1224.001288847394},{"b":"AvroVulcanBench.fieldGet_bridged","p":"-","ns":77.14834503371813,"ns_err":1.7892309262919712,"bop":432.00054261406297},{"b":"AvroVulcanBench.fieldGet_native","p":"-","ns":78.00517690447016,"ns_err":2.0586404732435657,"bop":432.00054895453377},{"b":"AvroVulcanBench.rootGet_bridged","p":"-","ns":274.34658100814994,"ns_err":5.722695341710595,"bop":1424.0019313283278},{"b":"AvroVulcanBench.rootGet_native","p":"-","ns":119.79214625937996,"ns_err":1.9256013292214922,"bop":600.0008433425719},{"b":"CapsBench.foldMapCap","p":"-","ns":16.582467366584403,"ns_err":0.08111730956525166,"bop":0.00011587641246693193},{"b":"CapsBench.foldMapDerivedHeld","p":"-","ns":17.698360434365267,"ns_err":0.025497647137887235,"bop":0.00012374748926619907},{"b":"CapsBench.foldMapDerivedPerCall","p":"-","ns":16.709835549331846,"ns_err":0.12707095250211997,"bop":0.00011673709231818701},{"b":"CapsBench.foldMapDirect","p":"-","ns":16.54637926732042,"ns_err":0.15221557523358473,"bop":0.00011573666559575874},{"b":"CapsBench.getCap","p":"-","ns":0.8534615524940871,"ns_err":0.002475259181041106,"bop":5.964124959466588e-06},{"b":"CapsBench.getDeepCap","p":"-","ns":1.1433855076749748,"ns_err":0.005210812068256686,"bop":7.985320995192597e-06},{"b":"CapsBench.getDeepDirect","p":"-","ns":1.0155583400843047,"ns_err":0.0043109680453412,"bop":7.0926549090408944e-06},{"b":"CapsBench.getDerivedHeld","p":"-","ns":1.6335425954879896,"ns_err":0.007791538605713705,"bop":1.1418770598948787e-05},{"b":"CapsBench.getDerivedPerCall","p":"-","ns":1.1359671736102925,"ns_err":0.008571127492215518,"bop":7.940727759529467e-06},{"b":"CapsBench.getDirect","p":"-","ns":0.7897480132521737,"ns_err":0.004751544095158379,"bop":5.518742019883346e-06},{"b":"CapsBench.modifyCap","p":"-","ns":5.5922320408094155,"ns_err":0.018221631566152155,"bop":40.00003932770871},{"b":"CapsBench.modifyDeepCap","p":"-","ns":27.73437584334028,"ns_err":0.5126192619282456,"bop":176.00019518026667},{"b":"CapsBench.modifyDeepDirect","p":"-","ns":26.143644516151998,"ns_err":0.09652005413492303,"bop":152.00018388559337},{"b":"CapsBench.modifyDerivedHeld","p":"-","ns":5.700959261528907,"ns_err":0.04668342958779676,"bop":40.00004015780017},{"b":"CapsBench.modifyDerivedPerCall","p":"-","ns":5.618594891976058,"ns_err":0.048138721481700106,"bop":40.00003954184493},{"b":"CapsBench.modifyDirect","p":"-","ns":5.5697734655292095,"ns_err":0.05504948391281572,"bop":40.00003921128969},{"b":"ClickRecordBench.encode_derived","p":"-","ns":379.81341131991945,"ns_err":9.711522562389133,"bop":744.0026706493243},{"b":"ClickRecordBench.encode_derivedThroughPrism","p":"-","ns":392.27654466371257,"ns_err":2.8466707058010248,"bop":744.0027607208668},{"b":"ClickRecordBench.encode_hand","p":"-","ns":113.57579531171588,"ns_err":0.6573089988794599,"bop":768.0007988411134},{"b":"ClickRecordBench.encode_positional","p":"-","ns":4302.589690099054,"ns_err":54.8794287947845,"bop":23912.03028879179},{"b":"ClickRecordBench.encode_vulcanFull","p":"-","ns":5153.745861148781,"ns_err":101.94452211303842,"bop":28408.0363021896},{"b":"CompositionBench.buildLens1","p":"-","ns":10.16420988872239,"ns_err":0.20220776804542254,"bop":72.00007150918073},{"b":"CompositionBench.buildLens3","p":"-","ns":27.045393416773962,"ns_err":0.11546128387229716,"bop":184.00019039779588},{"b":"CompositionBench.buildLens6","p":"-","ns":51.90373123840276,"ns_err":0.5141609920632199,"bop":352.00036528636366},{"b":"CompositionBench.buildLensOptional3","p":"-","ns":26.962294419942346,"ns_err":0.24592483675548277,"bop":184.0001896434677},{"b":"CompositionBench.reuseLeaf","p":"-","ns":3.519518185468568,"ns_err":0.06151373926244169,"bop":24.000024762507852},{"b":"CompositionBench.reuseLens1","p":"-","ns":10.31783761747736,"ns_err":0.1960943956823267,"bop":40.00007259022079},{"b":"CompositionBench.reuseLens3","p":"-","ns":28.274906502926406,"ns_err":0.3349837282009868,"bop":72.0001988712874},{"b":"CompositionBench.reuseLens6","p":"-","ns":77.49767855004984,"ns_err":0.557132979190134,"bop":120.0005455720242},{"b":"CompositionBench.reuseLensOptional3","p":"-","ns":38.780601771884534,"ns_err":0.24072594159891486,"bop":160.00027301477047},{"b":"FoldBench.eoFoldMap","p":"size=512","ns":1303.8395285068736,"ns_err":12.004809374820992,"bop":7936.2123029554805},{"b":"FoldBench.eoFoldMap","p":"size=64","ns":138.19414952784805,"ns_err":3.508117420082798,"bop":768.003250762081},{"b":"FoldBench.eoFoldMap","p":"size=8","ns":16.633604833243844,"ns_err":0.11266619596955428,"bop":0.00015256881054127132},{"b":"FoldBench.eoFoldPrices","p":"size=512","ns":2278.8149771156673,"ns_err":27.006826347443504,"bop":12312.370952904477},{"b":"FoldBench.eoFoldPrices","p":"size=64","ns":219.69313316136115,"ns_err":2.530634824614216,"bop":1560.0051681288448},{"b":"FoldBench.eoFoldPrices","p":"size=8","ns":29.944321152104276,"ns_err":0.09756274403857501,"bop":216.00027608199133},{"b":"FoldBench.mFoldMap","p":"size=512","ns":1288.8594300368636,"ns_err":10.535857071067841,"bop":7936.209851875358},{"b":"FoldBench.mFoldMap","p":"size=64","ns":134.77559159064282,"ns_err":1.6671597622788743,"bop":768.0031698617378},{"b":"FoldBench.mFoldMap","p":"size=8","ns":16.296522592651435,"ns_err":0.05843057139434353,"bop":0.00014898468614686346},{"b":"FoldBench.mFoldPrices","p":"size=512","ns":2276.2769256021566,"ns_err":23.836055341037795,"bop":12312.370586039347},{"b":"FoldBench.mFoldPrices","p":"size=64","ns":217.45493271045248,"ns_err":1.9747698279225154,"bop":1560.0051142543743},{"b":"FoldBench.mFoldPrices","p":"size=8","ns":29.685973985866198,"ns_err":0.490509156543796,"bop":216.00027286578913},{"b":"GenericsBench.genLensGet","p":"-","ns":0.7584697696255451,"ns_err":0.0020559999982411874,"bop":5.30042007584642e-06},{"b":"GenericsBench.genLensModify","p":"-","ns":3.7075614651032875,"ns_err":0.023736095485687426,"bop":24.000026061385928},{"b":"GenericsBench.genPrismGetHit","p":"-","ns":2.3552330154493473,"ns_err":0.0068287803164785495,"bop":16.00001656558691},{"b":"GenericsBench.genPrismGetMiss","p":"-","ns":0.8570403375871972,"ns_err":0.0026411557818219957,"bop":5.98540144073404e-06},{"b":"GenericsBench.genPrismModifyHit","p":"-","ns":3.3503215038295724,"ns_err":0.01615030700607897,"bop":24.000023586284957},{"b":"GenericsBench.genPrismModifyMiss","p":"-","ns":0.862299938625583,"ns_err":0.0040010076728635375,"bop":6.031470379399359e-06},{"b":"GenericsBench.handLensGet","p":"-","ns":0.759417073499346,"ns_err":0.005634572021627546,"bop":5.308602117038585e-06},{"b":"GenericsBench.handLensModify","p":"-","ns":3.491085696240298,"ns_err":0.01784441545002197,"bop":24.00002455448106},{"b":"GenericsBench.handPrismGetHit","p":"-","ns":2.3406059783807507,"ns_err":0.028926234186668006,"bop":16.0000164728613},{"b":"GenericsBench.handPrismGetMiss","p":"-","ns":0.7754172970279068,"ns_err":0.003583033900361593,"bop":5.4219952958702056e-06},{"b":"GenericsBench.handPrismModifyHit","p":"-","ns":3.3352197210529004,"ns_err":0.031227079302949132,"bop":24.0000234720497},{"b":"GenericsBench.handPrismModifyMiss","p":"-","ns":0.7728733055102562,"ns_err":0.00673081501660797,"bop":5.406477323052468e-06},{"b":"GenericsBench.rawLensGet","p":"-","ns":0.560697420183833,"ns_err":0.001483823771748864,"bop":3.915876782578388e-06},{"b":"GenericsBench.rawLensModify","p":"-","ns":3.3920881032824615,"ns_err":0.02705463348120927,"bop":24.00002388030866},{"b":"GenericsBench.rawPrismGetHit","p":"-","ns":2.51109550096424,"ns_err":0.03155282924559094,"bop":16.00001766227084},{"b":"GenericsBench.rawPrismModifyHit","p":"-","ns":3.326740263289721,"ns_err":0.03379321138027841,"bop":24.0000234061974},{"b":"GetterBench.eoGet_0","p":"-","ns":0.6745090630244367,"ns_err":0.006994309219071616,"bop":4.713729059184805e-06},{"b":"GetterBench.eoGet_3","p":"-","ns":10.155687367024354,"ns_err":0.13333953032474827,"bop":7.085389995458058e-05},{"b":"GetterBench.eoGet_6","p":"-","ns":19.59388115600239,"ns_err":0.06265678794762702,"bop":0.00013696748786883986},{"b":"GetterBench.eoGet_orderId","p":"-","ns":0.6730854224838296,"ns_err":0.005745950340921909,"bop":4.706355779763644e-06},{"b":"GetterBench.mGet_0","p":"-","ns":0.38384037606115007,"ns_err":0.010385740245352364,"bop":2.6839763926395437e-06},{"b":"GetterBench.mGet_3","p":"-","ns":5.251613308034466,"ns_err":0.3375100965819252,"bop":3.6674760718304e-05},{"b":"GetterBench.mGet_6","p":"-","ns":16.66579021485683,"ns_err":0.2379669555666801,"bop":0.0001164089972075546},{"b":"GetterBench.mGet_orderId","p":"-","ns":0.3766693939108255,"ns_err":0.0032291744334518296,"bop":2.633879907301443e-06},{"b":"IsoBench.eoGet","p":"-","ns":4.511468018048431,"ns_err":0.023893297379624038,"bop":32.00003170234615},{"b":"IsoBench.eoReverseGet","p":"-","ns":4.432238018993824,"ns_err":0.02042304830490885,"bop":32.000031174624354},{"b":"IsoBench.mGet","p":"-","ns":4.584338207492616,"ns_err":0.05506601158691662,"bop":32.00003228378932},{"b":"IsoBench.mReverseGet","p":"-","ns":4.507901292216603,"ns_err":0.011051493072927927,"bop":32.00003172591828},{"b":"JsoniterBench.cModifyId","p":"size=512","ns":281082.7614342532,"ns_err":2777.1175583983227,"bop":1066679.9624252664},{"b":"JsoniterBench.cModifyId","p":"size=64","ns":35897.23881102427,"ns_err":250.85549788786682,"bop":136264.49375182684},{"b":"JsoniterBench.cModifyId","p":"size=8","ns":6220.704158166783,"ns_err":125.67674772096804,"bop":20704.062230591622},{"b":"JsoniterBench.cReadId","p":"size=512","ns":148919.68091518793,"ns_err":1886.563772230235,"bop":797914.3531056264},{"b":"JsoniterBench.cReadId","p":"size=64","ns":18725.82926267393,"ns_err":155.723980210788,"bop":101288.53805613828},{"b":"JsoniterBench.cReadId","p":"size=8","ns":2912.088404232808,"ns_err":13.939795564052751,"bop":15568.02911914336},{"b":"JsoniterBench.cReadStreet","p":"size=512","ns":149872.6928021003,"ns_err":2125.412171309253,"bop":797914.6247583744},{"b":"JsoniterBench.cReadStreet","p":"size=64","ns":18757.394933303447,"ns_err":165.75148166900453,"bop":101288.538658433},{"b":"JsoniterBench.cReadStreet","p":"size=8","ns":2963.0872140423403,"ns_err":50.68895856314943,"bop":15568.029648699416},{"b":"JsoniterBench.cReplaceId","p":"size=512","ns":281300.1450039811,"ns_err":3052.1988237151418,"bop":1066615.9947818439},{"b":"JsoniterBench.cReplaceId","p":"size=64","ns":36251.01211606833,"ns_err":716.7717486993778,"bop":136216.59569420616},{"b":"JsoniterBench.cReplaceId","p":"size=8","ns":6053.644153554939,"ns_err":27.397793609112178,"bop":20656.060572063678},{"b":"JsoniterBench.cSumPrices","p":"size=512","ns":243908.19804183661,"ns_err":2294.69712880391,"bop":1240709.3636161864},{"b":"JsoniterBench.cSumPrices","p":"size=64","ns":30276.83080911151,"ns_err":111.4324673794005,"bop":157486.85616603587},{"b":"JsoniterBench.cSumPrices","p":"size=8","ns":4616.838595100914,"ns_err":34.48638825222249,"bop":22720.046179191},{"b":"JsoniterBench.jMiss","p":"size=512","ns":143.21940070573828,"ns_err":2.965653160042864,"bop":0.04072496793360148},{"b":"JsoniterBench.jMiss","p":"size=64","ns":142.65665608845399,"ns_err":2.62891216709344,"bop":0.004092062501568403},{"b":"JsoniterBench.jMiss","p":"size=8","ns":144.93773546748062,"ns_err":1.082806067607269,"bop":0.0014418297249720762},{"b":"JsoniterBench.jModifyId","p":"size=512","ns":5342.665475376069,"ns_err":120.90655423325245,"bop":41921.519651267285},{"b":"JsoniterBench.jModifyId","p":"size=64","ns":669.0439126484006,"ns_err":14.308243814437587,"bop":5336.019195269129},{"b":"JsoniterBench.jModifyId","p":"size=8","ns":146.08826387680537,"ns_err":2.3373790569345174,"bop":992.0014601870549},{"b":"JsoniterBench.jReadId","p":"size=512","ns":32.72088603743555,"ns_err":4.32682595648702,"bop":64.00930618564293},{"b":"JsoniterBench.jReadId","p":"size=64","ns":30.549673399435598,"ns_err":5.5374110879925365,"bop":48.000876332757265},{"b":"JsoniterBench.jReadId","p":"size=8","ns":32.93665581424628,"ns_err":4.268825420806407,"bop":64.00032913438349},{"b":"JsoniterBench.jReadStreet","p":"size=512","ns":145.7101287524725,"ns_err":1.1534266488318632,"bop":136.04143990574542},{"b":"JsoniterBench.jReadStreet","p":"size=64","ns":147.51661765233078,"ns_err":1.786525629663283,"bop":128.0042316419077},{"b":"JsoniterBench.jReadStreet","p":"size=8","ns":148.07203190936173,"ns_err":1.4320870673819954,"bop":136.00148002530955},{"b":"JsoniterBench.jReplaceId","p":"size=512","ns":5295.178853393412,"ns_err":74.07117357999037,"bop":41889.50598965623},{"b":"JsoniterBench.jReplaceId","p":"size=64","ns":650.634014426879,"ns_err":10.28710512481413,"bop":5304.0186694497925},{"b":"JsoniterBench.jReplaceId","p":"size=8","ns":143.78936060290837,"ns_err":0.8687787354433597,"bop":960.0014386786136},{"b":"JsoniterBench.jSumPrices","p":"size=512","ns":67706.80731761671,"ns_err":571.7080769208152,"bop":63671.3416717465},{"b":"JsoniterBench.jSumPrices","p":"size=64","ns":8504.48429063342,"ns_err":106.25744361834904,"bop":8120.244418903405},{"b":"JsoniterBench.jSumPrices","p":"size=8","ns":1132.2817947990518,"ns_err":15.735435256868303,"bop":1176.011314884491},{"b":"KyoDiBench.eoEnvFocus","p":"-","ns":83.75348665323516,"ns_err":1.0148817726899577,"bop":320.0005888708831},{"b":"KyoDiBench.eoMapDrillModify","p":"-","ns":34.449988041275894,"ns_err":0.4314287911348096,"bop":216.00024234062582},{"b":"KyoDiBench.eoMapGet","p":"-","ns":1.8448042972038279,"ns_err":0.0053031232138280645,"bop":1.2892032169510399e-05},{"b":"KyoDiBench.eoVarUpdateFocus","p":"-","ns":66.41651765024216,"ns_err":2.904378628172621,"bop":216.00046771366203},{"b":"KyoDiBench.handEnvUse","p":"-","ns":82.54395610718464,"ns_err":1.1546077593280797,"bop":312.00058069813787},{"b":"KyoDiBench.handMapDrillModify","p":"-","ns":32.956111053840104,"ns_err":0.15753385062513275,"bop":216.00023220878242},{"b":"KyoDiBench.handMapGet","p":"-","ns":1.3901242068124602,"ns_err":0.0027442418749642245,"bop":9.714569756433084e-06},{"b":"KyoDiBench.handVarUpdate","p":"-","ns":64.99401179531324,"ns_err":3.024844187885952,"bop":200.00045679789454},{"b":"LensBench.eoGet","p":"-","ns":0.7818214924787079,"ns_err":0.004860844323481373,"bop":5.4668048957998375e-06},{"b":"LensBench.eoModify","p":"-","ns":5.629644940187434,"ns_err":0.08362598849147028,"bop":40.00003957263122},{"b":"LensBench.eoModifyDeep","p":"-","ns":26.05641068542989,"ns_err":0.0978877446903051,"bop":152.0001834373057},{"b":"LensBench.eoReplace","p":"-","ns":5.5327065781863105,"ns_err":0.08002381376983107,"bop":40.00003898101815},{"b":"LensBench.mGet","p":"-","ns":0.8547847642044755,"ns_err":0.0064727047978726995,"bop":5.975010610267234e-06},{"b":"LensBench.mModify","p":"-","ns":5.577404613528267,"ns_err":0.05668725055203039,"bop":40.00003921710648},{"b":"LensBench.mModifyDeep","p":"-","ns":26.855789363026204,"ns_err":0.11342179901008319,"bop":176.00018871939446},{"b":"LensBench.mReplace","p":"-","ns":5.37004426964555,"ns_err":0.023311513268903163,"bop":40.00003780485128},{"b":"MultiFocusBench.eoFold_powerEach","p":"size=1024","ns":15494.672837417189,"ns_err":1970.6358127965448,"bop":43036.01610647593},{"b":"MultiFocusBench.eoFold_powerEach","p":"size=256","ns":2638.149032079124,"ns_err":10.15200720184164,"bop":9240.180829208555},{"b":"MultiFocusBench.eoFold_powerEach","p":"size=32","ns":273.8530714378334,"ns_err":0.8380018478782213,"bop":920.0039791276681},{"b":"MultiFocusBench.eoFold_powerEach","p":"size=4","ns":56.66800119037507,"ns_err":0.16864661023806563,"bop":328.00045498484377},{"b":"MultiFocusBench.eoModify_multiFocus","p":"size=1024","ns":56453.4441324942,"ns_err":929.282054533578,"bop":331134.5482933451},{"b":"MultiFocusBench.eoModify_multiFocus","p":"size=256","ns":12672.141684289632,"ns_err":123.76118362441649,"bop":76112.86858957022},{"b":"MultiFocusBench.eoModify_multiFocus","p":"size=32","ns":1461.3297777768687,"ns_err":5.324189150064743,"bop":8600.021262358454},{"b":"MultiFocusBench.eoModify_multiFocus","p":"size=4","ns":190.68633478748623,"ns_err":0.8116229172233295,"bop":1320.0015311299755},{"b":"MultiFocusBench.eoModify_powerEach","p":"size=1024","ns":29220.849643533926,"ns_err":746.1593943101499,"bop":115175.57582806681},{"b":"MultiFocusBench.eoModify_powerEach","p":"size=256","ns":6024.912195057941,"ns_err":474.2445065667451,"bop":26080.412960531754},{"b":"MultiFocusBench.eoModify_powerEach","p":"size=32","ns":758.0790109116733,"ns_err":15.584673800952901,"bop":3152.0110095147847},{"b":"MultiFocusBench.eoModify_powerEach","p":"size=4","ns":129.50097806280075,"ns_err":1.4154902440380046,"bop":800.0010399916019},{"b":"MultiFocusBench.naive_listMap","p":"size=1024","ns":10123.504440132707,"ns_err":28.149461538727014,"bop":65578.62478911654},{"b":"MultiFocusBench.naive_listMap","p":"size=256","ns":2480.353578553297,"ns_err":10.528400512935685,"bop":16424.17000607807},{"b":"MultiFocusBench.naive_listMap","p":"size=32","ns":314.67661601680186,"ns_err":1.1383872539277846,"bop":2088.004573017399},{"b":"MultiFocusBench.naive_listMap","p":"size=4","ns":44.95951356085869,"ns_err":0.4670341643901658,"bop":296.00036156199616},{"b":"MultiFocusBench.naive_sumQty","p":"size=1024","ns":4592.637214670913,"ns_err":176.4582282616668,"bop":16129.19085586649},{"b":"MultiFocusBench.naive_sumQty","p":"size=256","ns":607.0857200513933,"ns_err":2.303623519848732,"bop":3840.041610068448},{"b":"MultiFocusBench.naive_sumQty","p":"size=32","ns":51.74766362376673,"ns_err":0.1204522836076058,"bop":256.0007521480499},{"b":"MultiFocusBench.naive_sumQty","p":"size=4","ns":5.435236000043525,"ns_err":0.0515784097147008,"bop":4.3429432908635785e-05},{"b":"MultiFocusCollectBench.eoCollectList_listSum","p":"-","ns":24.219380663819425,"ns_err":0.06012197178247213,"bop":56.000170452262246},{"b":"MultiFocusCollectBench.eoCollectMap_constSum","p":"-","ns":1.3590507189905476,"ns_err":0.012371811470648843,"bop":9.500007024187607e-06},{"b":"MultiFocusCollectBench.eoCollectMap_zipMean","p":"-","ns":129.01593722706295,"ns_err":0.45579096536494657,"bop":880.0009075421424},{"b":"MultiFocusCollectBench.eoModify_multiFocusTuple3","p":"-","ns":18.86711415825061,"ns_err":0.4388534693249197,"bop":128.00013262126456},{"b":"MultiFocusCollectBench.eoModify_multiFocusTuple6","p":"-","ns":33.16523563141022,"ns_err":0.15280776038857669,"bop":224.00023311461447},{"b":"MultiFocusCollectBench.naive_constSum","p":"-","ns":2.3684932497548625,"ns_err":0.03458258018831791,"bop":16.000016678426938},{"b":"MultiFocusCollectBench.naive_listSum","p":"-","ns":22.465017017252475,"ns_err":0.3219494782030854,"bop":56.00015800787475},{"b":"MultiFocusCollectBench.naive_tuple3Rewrite","p":"-","ns":12.967441662344173,"ns_err":0.07432405662920837,"bop":96.00009126353498},{"b":"MultiFocusCollectBench.naive_tuple6Rewrite","p":"-","ns":24.540585162269142,"ns_err":0.22105363312001441,"bop":184.00017265690866},{"b":"MultiFocusCollectBench.naive_zipMeanBroadcast","p":"-","ns":203.8276720282188,"ns_err":0.862585339608251,"bop":1176.0014362179952},{"b":"OpticBuildBench.build","p":"-","ns":36.12662394421583,"ns_err":0.046704681749852324,"bop":184.00029971796553},{"b":"OpticBuildBench.buildAndUse","p":"-","ns":799.2026699255562,"ns_err":24.298930857680702,"bop":2840.0063338558907},{"b":"OpticBuildBench.reuseUse","p":"-","ns":757.2221228915917,"ns_err":11.12196639315901,"bop":2696.005326053067},{"b":"OptionalBench.eoModify_0","p":"-","ns":17.914037809264254,"ns_err":0.08981338932622791,"bop":112.00012622759347},{"b":"OptionalBench.eoModify_0_empty","p":"-","ns":1.1228903552134213,"ns_err":0.0039994917634865864,"bop":7.84465025056549e-06},{"b":"OptionalBench.eoModify_3","p":"-","ns":38.54958359539476,"ns_err":0.3982800268150927,"bop":160.00027104694038},{"b":"OptionalBench.eoModify_6","p":"-","ns":89.32725459302083,"ns_err":0.441806760366659,"bop":208.00062866988839},{"b":"OptionalBench.eoModify_loyalty","p":"-","ns":17.034067503686643,"ns_err":0.1932394628908449,"bop":112.00012002892045},{"b":"OptionalBench.eoModify_loyalty_empty","p":"-","ns":1.1230407776999392,"ns_err":0.0016742541745057384,"bop":7.843373911647281e-06},{"b":"OptionalBench.eoReplace_0","p":"-","ns":5.6612889289057104,"ns_err":0.019415324405835536,"bop":40.00003981889237},{"b":"OptionalBench.eoReplace_loyalty","p":"-","ns":11.885253635955804,"ns_err":0.09351720255703609,"bop":88.00008362980734},{"b":"OptionalBench.mModify_0","p":"-","ns":17.852976441355064,"ns_err":0.07156241876383503,"bop":112.0001255643726},{"b":"OptionalBench.mModify_0_empty","p":"-","ns":1.270450670596264,"ns_err":0.06271623665696496,"bop":8.872928779558127e-06},{"b":"OptionalBench.mModify_3","p":"-","ns":51.3649821206098,"ns_err":0.2536063540399851,"bop":304.000361611474},{"b":"OptionalBench.mModify_6","p":"-","ns":84.60723228200159,"ns_err":1.4951287531213817,"bop":496.00059577856956},{"b":"OptionalBench.mModify_loyalty","p":"-","ns":16.888972792811526,"ns_err":0.09476490243107538,"bop":112.00011884618898},{"b":"OptionalBench.mModify_loyalty_empty","p":"-","ns":1.3486651992557686,"ns_err":0.03568768829459351,"bop":9.406927227013853e-06},{"b":"OptionalBench.mReplace_0","p":"-","ns":5.460032183716248,"ns_err":0.0539650125158905,"bop":40.00003848503747},{"b":"OptionalBench.mReplace_loyalty","p":"-","ns":11.807909999343115,"ns_err":0.09873032373728025,"bop":88.0000830271901},{"b":"OrderAvroBench.eoModifyNames","p":"size=512","ns":25112.550094679373,"ns_err":137.46748244590106,"bop":97421.8876134024},{"b":"OrderAvroBench.eoModifyNames","p":"size=64","ns":3014.062577142267,"ns_err":58.43840730350139,"bop":13128.10524084797},{"b":"OrderAvroBench.eoModifyNames","p":"size=8","ns":453.9471772476036,"ns_err":1.2152832151158697,"bop":2160.005023925974},{"b":"OrderAvroBench.eoModifyStreet","p":"size=512","ns":86.30095394406773,"ns_err":0.16026026902231866,"bop":328.02065469268865},{"b":"OrderAvroBench.eoModifyStreet","p":"size=64","ns":85.49635702688825,"ns_err":0.24980579875698108,"bop":328.0029927750546},{"b":"OrderAvroBench.eoModifyStreet","p":"size=8","ns":86.12663957242873,"ns_err":1.3114151477514777,"bop":328.00092508818585},{"b":"OrderAvroBench.eoReadStreet","p":"size=512","ns":24.462151011267746,"ns_err":0.26279683791911834,"bop":88.00585412670802},{"b":"OrderAvroBench.eoReadStreet","p":"size=64","ns":24.32730104525689,"ns_err":0.048034271447222505,"bop":88.00085180437898},{"b":"OrderAvroBench.eoReadStreet","p":"size=8","ns":24.35195125254698,"ns_err":0.07092899532538861,"bop":88.00026146496293},{"b":"OrderAvroBench.monocleModifyNames","p":"size=512","ns":71679.4517276313,"ns_err":377.1625478020127,"bop":382786.5955695364},{"b":"OrderAvroBench.monocleModifyNames","p":"size=64","ns":7420.103425935742,"ns_err":79.85924226133076,"bop":39840.25112027477},{"b":"OrderAvroBench.monocleModifyNames","p":"size=8","ns":1058.497356466414,"ns_err":8.426212178547575,"bop":5400.011196125944},{"b":"OrderAvroBench.monocleModifyStreet","p":"size=512","ns":33901.103090125514,"ns_err":260.9964846773735,"bop":169070.71451709353},{"b":"OrderAvroBench.monocleModifyStreet","p":"size=64","ns":4412.236659192479,"ns_err":77.38809525743815,"bop":20904.14926678872},{"b":"OrderAvroBench.monocleModifyStreet","p":"size=8","ns":689.2141451131786,"ns_err":22.888366810231652,"bop":2992.0072873527492},{"b":"OrderAvroBench.monocleReadStreet","p":"size=512","ns":17105.154764768035,"ns_err":29.612697090446325,"bop":69780.09406744731},{"b":"OrderAvroBench.monocleReadStreet","p":"size=64","ns":2187.9459654933935,"ns_err":23.505450907458236,"bop":8848.076497134223},{"b":"OrderAvroBench.monocleReadStreet","p":"size=8","ns":329.44207732658015,"ns_err":4.396521916529561,"bop":1208.003539290708},{"b":"OrderAvroBench.naiveModifyNames","p":"size=512","ns":43850.41642395035,"ns_err":481.46148541570403,"bop":226287.59587102334},{"b":"OrderAvroBench.naiveModifyNames","p":"size=64","ns":5631.537927014401,"ns_err":66.05273279502778,"bop":27936.190540237505},{"b":"OrderAvroBench.naiveModifyNames","p":"size=8","ns":818.1569916446938,"ns_err":15.383077008286852,"bop":3752.0086453980757},{"b":"OrderAvroBench.naiveModifyStreet","p":"size=512","ns":33797.75472720496,"ns_err":421.3335446395192,"bop":169046.7379794502},{"b":"OrderAvroBench.naiveModifyStreet","p":"size=64","ns":4427.151784928313,"ns_err":83.5258629791704,"bop":20880.14981737725},{"b":"OrderAvroBench.naiveModifyStreet","p":"size=8","ns":694.7394242827836,"ns_err":18.997389904986992,"bop":2968.0073405720273},{"b":"OrderAvroBench.naiveReadStreet","p":"size=512","ns":17173.591459727508,"ns_err":241.3547478941817,"bop":69780.1103551251},{"b":"OrderAvroBench.naiveReadStreet","p":"size=64","ns":2180.441621152668,"ns_err":3.6948882830790177,"bop":8848.076160407149},{"b":"OrderAvroBench.naiveReadStreet","p":"size=8","ns":328.85028918720604,"ns_err":3.5652764981363854,"bop":1208.0035329944185},{"b":"OrderCirceBench.directNames","p":"size=512","ns":160671.73119545105,"ns_err":3762.4986896273317,"bop":613928.8029314622},{"b":"OrderCirceBench.directNames","p":"size=64","ns":20432.191645200317,"ns_err":275.82038845961296,"bop":77698.15332166656},{"b":"OrderCirceBench.directNames","p":"size=8","ns":2801.131212690773,"ns_err":78.07476467420824,"bop":10688.061569706031},{"b":"OrderCirceBench.directStreet","p":"size=512","ns":770.9464387586187,"ns_err":7.722132836250497,"bop":2736.608542281601},{"b":"OrderCirceBench.directStreet","p":"size=64","ns":768.2194855866691,"ns_err":3.8235787820869405,"bop":2736.0798483606973},{"b":"OrderCirceBench.directStreet","p":"size=8","ns":772.3653903495148,"ns_err":8.65159478111001,"bop":2736.0169183183943},{"b":"OrderCirceBench.eoNames","p":"size=512","ns":165861.46423394154,"ns_err":3391.8719095969095,"bop":613972.9537146332},{"b":"OrderCirceBench.eoNames","p":"size=64","ns":21094.570794483054,"ns_err":535.966710717845,"bop":78778.22281783448},{"b":"OrderCirceBench.eoNames","p":"size=8","ns":2870.5180071262607,"ns_err":59.8079607572411,"bop":10944.062934932565},{"b":"OrderCirceBench.eoNamesIor","p":"size=512","ns":170538.42015283994,"ns_err":3253.4832636914334,"bop":679376.7010146462},{"b":"OrderCirceBench.eoNamesIor","p":"size=64","ns":23127.874764568605,"ns_err":330.34330550859306,"bop":86962.43696697931},{"b":"OrderCirceBench.eoNamesIor","p":"size=8","ns":3111.496902540181,"ns_err":107.23374364137261,"bop":11576.067735170007},{"b":"OrderCirceBench.eoStreet","p":"size=512","ns":748.0892217219845,"ns_err":11.641651611081022,"bop":2720.590377727877},{"b":"OrderCirceBench.eoStreet","p":"size=64","ns":755.7041077569176,"ns_err":19.086474197299783,"bop":2720.0784940668623},{"b":"OrderCirceBench.eoStreet","p":"size=8","ns":771.6487384020445,"ns_err":11.815588388030928,"bop":2720.016889620584},{"b":"OrderCirceBench.eoStreetIor","p":"size=512","ns":779.466580757418,"ns_err":7.775714864785115,"bop":2736.615265749335},{"b":"OrderCirceBench.eoStreetIor","p":"size=64","ns":771.0779103070225,"ns_err":23.844189417961132,"bop":2736.0800956640005},{"b":"OrderCirceBench.eoStreetIor","p":"size=8","ns":761.4364962193827,"ns_err":17.516083570800863,"bop":2736.0164914062652},{"b":"OrderCirceBench.hcursorNames","p":"size=512","ns":160016.31301034943,"ns_err":5165.100535849966,"bop":613928.262130368},{"b":"OrderCirceBench.hcursorNames","p":"size=64","ns":20488.90145790099,"ns_err":691.2086976878483,"bop":77778.15922526376},{"b":"OrderCirceBench.hcursorNames","p":"size=8","ns":2789.634743950827,"ns_err":146.3142865643279,"bop":10696.060726984308},{"b":"OrderCirceBench.hcursorStreet","p":"size=512","ns":810.9321899483009,"ns_err":8.196370968185063,"bop":3032.64010186698},{"b":"OrderCirceBench.hcursorStreet","p":"size=64","ns":801.3597872746842,"ns_err":10.235366829370058,"bop":3032.0832345979015},{"b":"OrderCirceBench.hcursorStreet","p":"size=8","ns":810.6699134036403,"ns_err":8.560390215909344,"bop":3032.017574773808},{"b":"OrderCirceBench.monocleNames","p":"size=512","ns":180537.98406039327,"ns_err":2074.1698507907554,"bop":1121729.3209192238},{"b":"OrderCirceBench.monocleNames","p":"size=64","ns":20767.696607129565,"ns_err":434.0442925119606,"bop":132756.52496168183},{"b":"OrderCirceBench.monocleNames","p":"size=8","ns":3184.3425824920632,"ns_err":24.012821689795597,"bop":19466.727718486432},{"b":"OrderCirceBench.monocleStreet","p":"size=512","ns":140475.51631139757,"ns_err":2883.9864650807303,"bop":907998.400535316},{"b":"OrderCirceBench.monocleStreet","p":"size=64","ns":17668.19271887427,"ns_err":335.91255321936416,"bop":113809.58094323003},{"b":"OrderCirceBench.monocleStreet","p":"size=8","ns":2753.162737704795,"ns_err":34.696007344871866,"bop":17053.38611551436},{"b":"OrderCirceBench.naiveNames","p":"size=512","ns":147247.57008649028,"ns_err":1961.3454200943297,"bop":965234.9533730051},{"b":"OrderCirceBench.naiveNames","p":"size=64","ns":18518.978883685588,"ns_err":231.87800734133552,"bop":120825.6569300632},{"b":"OrderCirceBench.naiveNames","p":"size=8","ns":2882.5752870934925,"ns_err":48.08560577416717,"bop":17808.05522903864},{"b":"OrderCirceBench.naiveStreet","p":"size=512","ns":139044.2032872369,"ns_err":553.8546579927921,"bop":908008.1022594867},{"b":"OrderCirceBench.naiveStreet","p":"size=64","ns":17586.33994775317,"ns_err":160.8621959573821,"bop":113774.9068115721},{"b":"OrderCirceBench.naiveStreet","p":"size=8","ns":2724.5899676755207,"ns_err":26.664129871382258,"bop":17034.718986731987},{"b":"OrderJsoniterBench.eoModifyStreet","p":"size=512","ns":5605.786493040046,"ns_err":58.52585865085189,"bop":42029.0377175268},{"b":"OrderJsoniterBench.eoModifyStreet","p":"size=64","ns":803.1728075697304,"ns_err":4.946582300495121,"bop":5432.093145027024},{"b":"OrderJsoniterBench.eoModifyStreet","p":"size=8","ns":233.24059170020146,"ns_err":1.05735754525608,"bop":1080.0053728129599},{"b":"OrderJsoniterBench.eoReadStreet","p":"size=512","ns":147.37545427962203,"ns_err":2.106869569449934,"bop":109.46579635334582},{"b":"OrderJsoniterBench.eoReadStreet","p":"size=64","ns":149.72249870545733,"ns_err":1.2049720607842838,"bop":128.01739635462084},{"b":"OrderJsoniterBench.eoReadStreet","p":"size=8","ns":147.2149540059652,"ns_err":2.5342126468795487,"bop":90.67005631554684},{"b":"OrderJsoniterBench.eoSumPrices","p":"size=512","ns":67758.5734124961,"ns_err":332.4794845873834,"bop":63713.09498036869},{"b":"OrderJsoniterBench.eoSumPrices","p":"size=64","ns":8401.54484309804,"ns_err":64.75509140740274,"bop":8120.971690792298},{"b":"OrderJsoniterBench.eoSumPrices","p":"size=8","ns":1147.922790172773,"ns_err":22.366819843179545,"bop":1176.0264402534185},{"b":"OrderJsoniterBench.monocleModifyStreet","p":"size=512","ns":119210.4147523509,"ns_err":699.317711013537,"bop":333548.0869772078},{"b":"OrderJsoniterBench.monocleModifyStreet","p":"size=64","ns":14249.507749526843,"ns_err":30.708332435645023,"bop":30081.43545177518},{"b":"OrderJsoniterBench.monocleModifyStreet","p":"size=8","ns":2516.6091110782077,"ns_err":21.34346463259259,"bop":4664.053131059967},{"b":"OrderJsoniterBench.monocleReadStreet","p":"size=512","ns":62735.38234397176,"ns_err":378.5796108490496,"bop":193205.70807279498},{"b":"OrderJsoniterBench.monocleReadStreet","p":"size=64","ns":8035.719228036778,"ns_err":145.84452104578583,"bop":24704.8219591919},{"b":"OrderJsoniterBench.monocleReadStreet","p":"size=8","ns":1277.823141944016,"ns_err":12.715015203114804,"bop":3648.0272257914626},{"b":"OrderJsoniterBench.monocleSumPrices","p":"size=512","ns":295494.7414045584,"ns_err":2715.6797333793716,"bop":1178332.9306203783},{"b":"OrderJsoniterBench.monocleSumPrices","p":"size=64","ns":11464.709085281349,"ns_err":31.94152346715516,"bop":45833.17279419899},{"b":"OrderJsoniterBench.monocleSumPrices","p":"size=8","ns":1882.7666166788395,"ns_err":14.720207499032783,"bop":6338.706767315897},{"b":"OrderJsoniterBench.naiveModifyStreet","p":"size=512","ns":119443.03997812308,"ns_err":445.4798165597534,"bop":333499.8774935034},{"b":"OrderJsoniterBench.naiveModifyStreet","p":"size=64","ns":14268.92718289181,"ns_err":134.0240680001998,"bop":30057.437296569788},{"b":"OrderJsoniterBench.naiveModifyStreet","p":"size=8","ns":2500.8046221226405,"ns_err":4.687649290808973,"bop":4640.0528207734815},{"b":"OrderJsoniterBench.naiveReadStreet","p":"size=512","ns":62951.17541866061,"ns_err":232.81904742327882,"bop":193205.88979965728},{"b":"OrderJsoniterBench.naiveReadStreet","p":"size=64","ns":7948.97345632789,"ns_err":18.763136892936163,"bop":24704.813263475124},{"b":"OrderJsoniterBench.naiveReadStreet","p":"size=8","ns":1271.5157255837769,"ns_err":6.059462470533508,"bop":3648.0271003230273},{"b":"OrderJsoniterBench.naiveSumPrices","p":"size=512","ns":68711.55350862899,"ns_err":442.1489699972525,"bop":230098.91667245745},{"b":"OrderJsoniterBench.naiveSumPrices","p":"size=64","ns":8578.03283097076,"ns_err":21.765114768513243,"bop":29336.877285137827},{"b":"OrderJsoniterBench.naiveSumPrices","p":"size=8","ns":1348.1547114559753,"ns_err":6.596474315916529,"bop":4248.028702976551},{"b":"OrderJsoniterBench.nativeReadStreet","p":"size=512","ns":28950.88529945082,"ns_err":219.67008979636117,"bop":448.2229800790958},{"b":"OrderJsoniterBench.nativeReadStreet","p":"size=64","ns":3734.537354378114,"ns_err":69.92607204072387,"bop":424.4021505729482},{"b":"OrderJsoniterBench.nativeReadStreet","p":"size=8","ns":667.3272590689159,"ns_err":8.24713152065172,"bop":424.01443736719835},{"b":"OrderJsoniterBench.nativeSumPrices","p":"size=512","ns":47023.89104315951,"ns_err":989.2993714956075,"bop":86269.66977594254},{"b":"OrderJsoniterBench.nativeSumPrices","p":"size=64","ns":5744.5470755325305,"ns_err":15.216477201870212,"bop":10920.620935338862},{"b":"OrderJsoniterBench.nativeSumPrices","p":"size=8","ns":856.3461285734376,"ns_err":5.903289618934266,"bop":1512.0185669121101},{"b":"PlatedBench.eoTransformDeep","p":"n=4096","ns":113589.80320760306,"ns_err":270.7986955798018,"bop":624378.6777719711},{"b":"PlatedBench.eoTransformDeep","p":"n=512","ns":12073.889270455624,"ns_err":177.34738575274716,"bop":57361.23261281591},{"b":"PlatedBench.eoTransformDeep","p":"n=64","ns":1262.8495636052735,"ns_err":4.924879477372979,"bop":7184.025051312461},{"b":"PlatedBench.eoTransformExpr","p":"n=4096","ns":114650.34089438383,"ns_err":2459.4398615427663,"bop":655347.4503140146},{"b":"PlatedBench.eoTransformExpr","p":"n=512","ns":14224.343456165112,"ns_err":42.52906093994007,"bop":81825.45267390365},{"b":"PlatedBench.eoTransformExpr","p":"n=64","ns":1748.824977568514,"ns_err":20.533476581480347,"bop":10144.034301632279},{"b":"PlatedBench.eoUniverseDeep","p":"n=4096","ns":139189.43464017837,"ns_err":1415.371637761143,"bop":786605.312444351},{"b":"PlatedBench.eoUniverseDeep","p":"n=512","ns":16866.183414638355,"ns_err":62.390083191294096,"bop":98377.72240894576},{"b":"PlatedBench.eoUniverseDeep","p":"n=64","ns":1945.7158593524696,"ns_err":6.208229394209733,"bop":12360.037712127332},{"b":"PlatedBench.eoUniverseExpr","p":"n=4096","ns":137192.69045316402,"ns_err":991.6533184184943,"bop":786411.8564126783},{"b":"PlatedBench.eoUniverseExpr","p":"n=512","ns":16558.902140877526,"ns_err":210.05603130995723,"bop":98185.69111861427},{"b":"PlatedBench.eoUniverseExpr","p":"n=64","ns":1904.535346655318,"ns_err":9.392817590552962,"bop":12168.03690586059},{"b":"PlatedBench.eoUniverseJson","p":"n=4096","ns":178734.8230278913,"ns_err":1039.6325418631704,"bop":786442.0926674528},{"b":"PlatedBench.eoUniverseJson","p":"n=512","ns":21362.577068479375,"ns_err":81.4697449428127,"bop":98186.18130202037},{"b":"PlatedBench.eoUniverseJson","p":"n=64","ns":2387.3516404997363,"ns_err":45.32064443330523,"bop":12168.04633401055},{"b":"PlatedBench.mTransformExpr","p":"n=4096","ns":134018.30755755457,"ns_err":1604.5048793649182,"bop":753713.5488303954},{"b":"PlatedBench.mTransformExpr","p":"n=512","ns":12097.391668295215,"ns_err":92.09935378161796,"bop":69585.23563842986},{"b":"PlatedBench.mTransformExpr","p":"n=64","ns":2043.739267998354,"ns_err":12.39683447822019,"bop":11728.039594572523},{"b":"PlatedBench.mUniverseExpr","p":"n=4096","ns":4297983.156467696,"ns_err":173922.29471228755,"bop":4688802.610405239},{"b":"PlatedBench.mUniverseExpr","p":"n=512","ns":301081.20485234546,"ns_err":5228.687520246696,"bop":475022.74671466835},{"b":"PlatedBench.mUniverseExpr","p":"n=64","ns":26311.065862394255,"ns_err":151.67647443721737,"bop":45424.510213055626},{"b":"PlatedBench.mUniverseJson","p":"n=4096","ns":4529430.028113193,"ns_err":214793.38567745988,"bop":6884001.25557592},{"b":"PlatedBench.mUniverseJson","p":"n=512","ns":331801.04285315913,"ns_err":4258.095342875486,"bop":699929.8812953488},{"b":"PlatedBench.mUniverseJson","p":"n=64","ns":30140.92204014061,"ns_err":164.66928417538242,"bop":73208.5883928611},{"b":"PlatedBench.visitorTransformDeep","p":"n=4096","ns":39532.51277297733,"ns_err":203.36435016219514,"bop":163884.77572094364},{"b":"PlatedBench.visitorTransformDeep","p":"n=512","ns":4360.823956108268,"ns_err":80.46806159207263,"bop":20496.445294395515},{"b":"PlatedBench.visitorTransformDeep","p":"n=64","ns":484.5290449319847,"ns_err":3.998956506107942,"bop":2576.0093947764803},{"b":"PlatedBench.visitorTransformExpr","p":"n=4096","ns":61466.377388131,"ns_err":175.977293276588,"bop":360468.7418024022},{"b":"PlatedBench.visitorTransformExpr","p":"n=512","ns":7196.949734538037,"ns_err":17.79385678633959,"bop":45032.7349860503},{"b":"PlatedBench.visitorTransformExpr","p":"n=64","ns":938.6180604946396,"ns_err":3.6367246297561446,"bop":5608.018192020036},{"b":"PlatedBench.visitorUniverseDeep","p":"n=4096","ns":52905.90871891466,"ns_err":213.79550066241586,"bop":196702.50836193582},{"b":"PlatedBench.visitorUniverseDeep","p":"n=512","ns":6432.069553032737,"ns_err":20.494715992704776,"bop":24632.660322204574},{"b":"PlatedBench.visitorUniverseDeep","p":"n=64","ns":662.7953651438788,"ns_err":1.322149460205852,"bop":3128.012865899585},{"b":"PlatedBench.visitorUniverseExpr","p":"n=4096","ns":46975.40673394225,"ns_err":178.3496753342083,"bop":196650.19418665115},{"b":"PlatedBench.visitorUniverseExpr","p":"n=512","ns":5799.41520224368,"ns_err":32.794239660806866,"bop":24584.601660740307},{"b":"PlatedBench.visitorUniverseExpr","p":"n=64","ns":680.9757785569552,"ns_err":8.84080744775357,"bop":3080.013358249448},{"b":"PlatedBench.visitorUniverseJson","p":"n=4096","ns":111846.99170991954,"ns_err":12983.862028494957,"bop":299674.55265153944},{"b":"PlatedBench.visitorUniverseJson","p":"n=512","ns":18126.1697496019,"ns_err":1237.617678093995,"bop":42313.85126771556},{"b":"PlatedBench.visitorUniverseJson","p":"n=64","ns":1670.9341940092631,"ns_err":82.82312032973257,"bop":4424.032385686171},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=1024","ns":10606.220659187644,"ns_err":32.35106220233312,"bop":41413.00693175626},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=16","ns":180.34237539028229,"ns_err":1.1817116672482795,"bop":1088.0025558263492},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=256","ns":2462.546868706415,"ns_err":13.848803177847465,"bop":10688.394442469993},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=4","ns":91.49769443722899,"ns_err":0.18664475256834323,"bop":608.0008771635021},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=4096","ns":42276.874446650145,"ns_err":1158.183241883737,"bop":164356.8726317051},{"b":"PowerSeriesBench.eoModify_powerEach","p":"size=64","ns":656.9560498185612,"ns_err":12.488590326761477,"bop":3008.0219907386113},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=1024","ns":50383.380954879714,"ns_err":666.189236797006,"bop":279426.22371601744},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=16","ns":595.1122556889691,"ns_err":2.3721340816489103,"bop":3720.0083180243396},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=256","ns":18151.167311634388,"ns_err":91.2765368819652,"bop":107330.79837305163},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=4","ns":167.23109102535028,"ns_err":1.604077553863639,"bop":1176.0016195367398},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=4096","ns":176221.19572923408,"ns_err":2120.920278188584,"bop":967838.9626928413},{"b":"PowerSeriesBench.monocle_powerEach","p":"size=64","ns":2226.2215098376087,"ns_err":11.797589817044582,"bop":14514.737195098085},{"b":"PowerSeriesBench.naive_powerEach","p":"size=1024","ns":5284.507749203545,"ns_err":182.85114472134214,"bop":28730.504344783116},{"b":"PowerSeriesBench.naive_powerEach","p":"size=16","ns":84.70463844257118,"ns_err":0.8773932517473406,"bop":504.00121978816856},{"b":"PowerSeriesBench.naive_powerEach","p":"size=256","ns":1246.1259250160927,"ns_err":5.715176421032377,"bop":7224.19985312213},{"b":"PowerSeriesBench.naive_powerEach","p":"size=4","ns":26.205982241265907,"ns_err":0.17059860240628133,"bop":168.00025741029268},{"b":"PowerSeriesBench.naive_powerEach","p":"size=4096","ns":20329.723266122204,"ns_err":97.90569576725031,"bop":114777.12217090532},{"b":"PowerSeriesBench.naive_powerEach","p":"size=64","ns":318.36205510725097,"ns_err":2.306263976616888,"bop":1848.0106878746267},{"b":"PowerSeriesNestedBench.eoModify_nested","p":"size=1024","ns":51294.51991706479,"ns_err":907.4739757367763,"bop":210560.04338370918},{"b":"PowerSeriesNestedBench.eoModify_nested","p":"size=16","ns":1103.2993984457726,"ns_err":34.066788030315294,"bop":4792.041143448354},{"b":"PowerSeriesNestedBench.eoModify_nested","p":"size=256","ns":14889.849251161113,"ns_err":308.1920232328189,"bop":53729.41010860919},{"b":"PowerSeriesNestedBench.eoModify_nested","p":"size=4","ns":527.3342355286406,"ns_err":10.990303195418479,"bop":2240.0096245111886},{"b":"PowerSeriesNestedBench.eoModify_nested","p":"size=64","ns":4018.275637454422,"ns_err":424.3796214469332,"bop":14640.461058715648},{"b":"PowerSeriesNestedBench.monocle_nested","p":"size=1024","ns":207300.72331659435,"ns_err":2134.226840096344,"bop":1118777.4009930408},{"b":"PowerSeriesNestedBench.monocle_nested","p":"size=16","ns":2611.977816758438,"ns_err":91.61862076931425,"bop":15749.427328613288},{"b":"PowerSeriesNestedBench.monocle_nested","p":"size=256","ns":75908.39254857617,"ns_err":723.9999173839926,"bop":430204.4767304199},{"b":"PowerSeriesNestedBench.monocle_nested","p":"size=4","ns":1026.8005990845002,"ns_err":52.15823558348969,"bop":5557.352106596101},{"b":"PowerSeriesNestedBench.monocle_nested","p":"size=64","ns":9280.450970822421,"ns_err":95.79278085699848,"bop":58859.67747128709},{"b":"PowerSeriesNestedBench.naive_nested","p":"size=1024","ns":19638.767056038258,"ns_err":112.70643775464315,"bop":115067.76202240384},{"b":"PowerSeriesNestedBench.naive_nested","p":"size=16","ns":353.783349710068,"ns_err":6.146346515965528,"bop":2136.013353212029},{"b":"PowerSeriesNestedBench.naive_nested","p":"size=256","ns":4959.003413469008,"ns_err":67.88609695656088,"bop":29019.13714356317},{"b":"PowerSeriesNestedBench.naive_nested","p":"size=4","ns":126.78798321961587,"ns_err":1.0085150855543634,"bop":792.0023877964219},{"b":"PowerSeriesNestedBench.naive_nested","p":"size=64","ns":1247.3358707303462,"ns_err":23.939362640200084,"bop":7512.143861232034},{"b":"PowerSeriesPrismBench.eoModify_sparse","p":"size=128","ns":1141.5154606420015,"ns_err":17.63178560579745,"bop":4816.06614933129},{"b":"PowerSeriesPrismBench.eoModify_sparse","p":"size=2048","ns":19348.974733813757,"ns_err":231.58329851976032,"bop":104672.00283461661},{"b":"PowerSeriesPrismBench.eoModify_sparse","p":"size=32","ns":276.72375863252455,"ns_err":2.828415556805161,"bop":1360.0055431800718},{"b":"PowerSeriesPrismBench.eoModify_sparse","p":"size=512","ns":4936.7495469931755,"ns_err":51.639730654508696,"bop":24785.354875912755},{"b":"PowerSeriesPrismBench.eoModify_sparse","p":"size=8","ns":92.00863829907462,"ns_err":1.1570034467095314,"bop":496.0009899329322},{"b":"PowerSeriesPrismBench.monocle_sparse","p":"size=128","ns":4281.415984545027,"ns_err":34.82923859111885,"bop":27808.215199500966},{"b":"PowerSeriesPrismBench.monocle_sparse","p":"size=2048","ns":94378.54295140228,"ns_err":1613.7170478465666,"bop":523141.32531449624},{"b":"PowerSeriesPrismBench.monocle_sparse","p":"size=32","ns":1104.91530057942,"ns_err":8.499318603452554,"bop":7032.020295917604},{"b":"PowerSeriesPrismBench.monocle_sparse","p":"size=512","ns":29093.439623834718,"ns_err":401.2731884501242,"bop":166681.56036593096},{"b":"PowerSeriesPrismBench.monocle_sparse","p":"size=8","ns":322.26468046281366,"ns_err":7.615168402616516,"bop":1952.0033753993239},{"b":"PowerSeriesPrismBench.naive_sparse","p":"size=128","ns":277.85022540744126,"ns_err":4.793437834185022,"bop":1568.0169337916766},{"b":"PowerSeriesPrismBench.naive_sparse","p":"size=2048","ns":4417.856313237893,"ns_err":47.28008899496998,"bop":24611.797620001933},{"b":"PowerSeriesPrismBench.naive_sparse","p":"size=32","ns":72.64293844178496,"ns_err":0.486944061830035,"bop":416.0015231381248},{"b":"PowerSeriesPrismBench.naive_sparse","p":"size=512","ns":1167.7502876573462,"ns_err":13.439196358693788,"bop":6176.335055854935},{"b":"PowerSeriesPrismBench.naive_sparse","p":"size=8","ns":20.37223170536956,"ns_err":0.2884972302918482,"bop":128.0002282052518},{"b":"PrismBench.eoGetOptionAbsent","p":"-","ns":0.6808654573148005,"ns_err":0.004818819058101664,"bop":4.753763597422299e-06},{"b":"PrismBench.eoGetOptionPresent","p":"-","ns":0.6833713565364198,"ns_err":0.011985549666389999,"bop":4.778622333264533e-06},{"b":"PrismBench.eoGetRightAbsent","p":"-","ns":0.7828696327712013,"ns_err":0.005236322015841238,"bop":5.477635225292848e-06},{"b":"PrismBench.eoGetRightPresent","p":"-","ns":2.443090445056353,"ns_err":0.023348549409937774,"bop":16.000017202873668},{"b":"PrismBench.eoReverseGet","p":"-","ns":2.4068384062818238,"ns_err":0.029786866445935565,"bop":16.000016923146},{"b":"PrismBench.eoRightReverseGet","p":"-","ns":2.4190710019255475,"ns_err":0.011701021155758592,"bop":16.000017030380523},{"b":"PrismBench.mGetOptionAbsent","p":"-","ns":0.781744483137644,"ns_err":0.010607835743826106,"bop":5.457891228587297e-06},{"b":"PrismBench.mGetOptionPresent","p":"-","ns":0.7732156814075745,"ns_err":0.008420234846242524,"bop":5.393526911188697e-06},{"b":"PrismBench.mGetRightAbsent","p":"-","ns":0.8553402100659748,"ns_err":0.0011681392149993496,"bop":5.979168792466504e-06},{"b":"PrismBench.mGetRightPresent","p":"-","ns":2.500850335766678,"ns_err":0.010969879616040033,"bop":16.00001762162636},{"b":"PrismBench.mReverseGet","p":"-","ns":2.419181482825472,"ns_err":0.04319194494565606,"bop":16.00001703585964},{"b":"PrismBench.mRightReverseGet","p":"-","ns":2.3939362096487424,"ns_err":0.009971473721755487,"bop":16.000016822697553},{"b":"ReviewBench.eoReverseGet_0","p":"-","ns":3.4797858722028416,"ns_err":0.01863460627004622,"bop":24.000024512168707},{"b":"ReviewBench.eoReverseGet_3","p":"-","ns":13.183617982653894,"ns_err":0.10541438322320472,"bop":72.00009289615238},{"b":"ReviewBench.eoReverseGet_6","p":"-","ns":22.674991309332793,"ns_err":0.3924349445289177,"bop":120.00015948777094},{"b":"ReviewBench.naiveBuild_0","p":"-","ns":3.4650872275271847,"ns_err":0.018628324155717024,"bop":24.000024372243907},{"b":"ReviewBench.naiveBuild_3","p":"-","ns":10.27279214963994,"ns_err":0.4100728543494014,"bop":72.00007234095496},{"b":"ReviewBench.naiveBuild_6","p":"-","ns":16.682273656435672,"ns_err":0.10008592818748907,"bop":120.00011740854457},{"b":"SchemesBench.drosteAna","p":"-","ns":51618.56955223068,"ns_err":441.658586465154,"bop":327632.3650133462},{"b":"SchemesBench.drosteCata","p":"-","ns":31011.124123970792,"ns_err":162.45194948385944,"bop":164824.2193558092},{"b":"SchemesBench.drosteHylo","p":"-","ns":52346.1926802206,"ns_err":987.2359827151422,"bop":328640.37026360823},{"b":"SchemesBench.eoAna","p":"-","ns":97638.06867226308,"ns_err":1816.4185394913552,"bop":589712.6934195451},{"b":"SchemesBench.eoCata","p":"-","ns":56898.66437371466,"ns_err":493.7679386776317,"bop":197568.40459451836},{"b":"SchemesBench.eoHylo","p":"-","ns":66291.1666121239,"ns_err":853.8110584009711,"bop":295848.47103469353},{"b":"SchemesBench.handAna","p":"-","ns":27962.202378018377,"ns_err":236.11110570260675,"bop":163816.19779279642},{"b":"SchemesBench.handCata","p":"-","ns":12707.086723819404,"ns_err":129.9534954072819,"bop":0.08883901538872586},{"b":"SchemesBench.handHylo","p":"-","ns":10531.070614175578,"ns_err":379.52934363303194,"bop":0.07368458747864547},{"b":"SetterBench.eoModify_0","p":"-","ns":3.3999888765290813,"ns_err":0.009955817180628327,"bop":24.000023912773194},{"b":"SetterBench.eoModify_3","p":"-","ns":11.412138581723399,"ns_err":0.12298698677387776,"bop":72.00008038973624},{"b":"SetterBench.eoModify_6","p":"-","ns":20.172966436110528,"ns_err":0.25014562337561247,"bop":120.00014184490144},{"b":"SetterBench.eoModify_orderId","p":"-","ns":5.434992867558035,"ns_err":0.055027348108461126,"bop":40.000038263008456},{"b":"SetterBench.mModify_0","p":"-","ns":3.4356676999577416,"ns_err":0.03608849211087385,"bop":24.000024179965255},{"b":"SetterBench.mModify_3","p":"-","ns":26.632427462752915,"ns_err":0.14672492395675607,"bop":168.00018760796846},{"b":"SetterBench.mModify_6","p":"-","ns":49.492413044186,"ns_err":0.44923686607282115,"bop":288.0003482117694},{"b":"SetterBench.mModify_orderId","p":"-","ns":5.434862571851147,"ns_err":0.023828855185821157,"bop":40.0000382598171},{"b":"TraversalBench.eoFoldNested","p":"size=512","ns":4674.9052529374985,"ns_err":52.64499484387869,"bop":20200.742122953765},{"b":"TraversalBench.eoFoldNested","p":"size=64","ns":534.345300808947,"ns_err":9.175376748875372,"bop":2680.013575185786},{"b":"TraversalBench.eoFoldNested","p":"size=8","ns":54.1609280491908,"ns_err":6.876903194158811,"bop":360.00051465093134},{"b":"TraversalBench.eoFoldPrices","p":"size=512","ns":1986.1571645877816,"ns_err":42.88084505532365,"bop":12312.315388266721},{"b":"TraversalBench.eoFoldPrices","p":"size=64","ns":221.194508039552,"ns_err":4.457841407636116,"bop":1560.0056191218152},{"b":"TraversalBench.eoFoldPrices","p":"size=8","ns":30.144179665667284,"ns_err":0.15449491389258369,"bop":216.00028646179643},{"b":"TraversalBench.eoModify","p":"size=512","ns":7270.328219177524,"ns_err":69.44723985079848,"bop":36897.15821760198},{"b":"TraversalBench.eoModify","p":"size=64","ns":815.7829754766497,"ns_err":14.172395650490476,"bop":4640.020731365622},{"b":"TraversalBench.eoModify","p":"size=8","ns":97.68401438271971,"ns_err":1.9982681133378375,"bop":608.00093501476},{"b":"TraversalBench.mFoldPrices","p":"size=512","ns":27737.522921192438,"ns_err":201.94981663889266,"bop":162564.40466689496},{"b":"TraversalBench.mFoldPrices","p":"size=64","ns":2355.37877248261,"ns_err":9.3652388361877,"bop":15408.059842553115},{"b":"TraversalBench.mFoldPrices","p":"size=8","ns":356.13055145748615,"ns_err":4.7510944149904235,"bop":2000.0034371620388},{"b":"TraversalBench.mModify","p":"size=512","ns":30282.138079620443,"ns_err":220.093910487808,"bop":176888.13453185649},{"b":"TraversalBench.mModify","p":"size=64","ns":2192.5706120061486,"ns_err":21.41819185841829,"bop":14408.05575651579},{"b":"TraversalBench.mModify","p":"size=8","ns":309.94186125976887,"ns_err":4.628657401621374,"bop":1896.0029523184357},{"b":"ZioDiBench.eoDrillGet","p":"-","ns":7.406515665671472,"ns_err":0.03843204267534252,"bop":5.17738573636178e-05},{"b":"ZioDiBench.eoDrillModify","p":"-","ns":86.43843658943734,"ns_err":0.9469505729291087,"bop":472.0006081408301},{"b":"ZioDiBench.eoServiceGet","p":"-","ns":4.072998954063298,"ns_err":0.005661022596082343,"bop":2.848081107890681e-05},{"b":"ZioDiBench.eoServiceReplace","p":"-","ns":75.29060615280387,"ns_err":3.832619371908593,"bop":400.0005296896501},{"b":"ZioDiBench.handDrillGet","p":"-","ns":17.49844754946692,"ns_err":0.14382888465815968,"bop":120.00012296399571},{"b":"ZioDiBench.handDrillModify","p":"-","ns":94.32847843056705,"ns_err":0.3725900913665882,"bop":592.0006636568232},{"b":"ZioDiBench.handServiceGet","p":"-","ns":17.470150282473977,"ns_err":0.30263570004702045,"bop":120.00012304905773},{"b":"ZioDiBench.handServiceReplace","p":"-","ns":84.24304041962492,"ns_err":0.2056113487175212,"bop":520.0005923448742}]}
diff --git a/tests/src/test/scala/dev/constructive/eo/MultiFocusCrossFamilySpec.scala b/tests/src/test/scala/dev/constructive/eo/MultiFocusCrossFamilySpec.scala
new file mode 100644
index 00000000..96bec5d8
--- /dev/null
+++ b/tests/src/test/scala/dev/constructive/eo/MultiFocusCrossFamilySpec.scala
@@ -0,0 +1,335 @@
+package dev.constructive.eo
+
+import cats.instances.list.given
+import dev.constructive.eo.compose.*
+import org.scalacheck.Prop.forAll
+import org.scalacheck.{Arbitrary, Prop}
+import org.specs2.ScalaCheck
+import org.specs2.mutable.Specification
+
+import MatrixFixtures.Box
+import data.{Direct, Forget, ModifyF, MultiFocus}
+import data.MultiFocus.{collectList, collectMap, collectWith}
+import optics.*
+import optics.Optic.*
+
+/** The runtime twin of [[CompositionMatrixSpec]]: that spec pins which (outer family ∘ inner
+ * family) cells *type*, this one runs `MultiFocus[List]`-carried optics against every other family
+ * they can be built from or composed with and checks the behaviour those cells promise.
+ *
+ * - One block per inbound provenance (generic factory, Iso, Lens, Prism, Optional) runs the
+ * optic laws (`modify`-identity, compose-modify, replace-idempotent, replace-is-map) together
+ * with the aggregation definitions (`collectMap` / `collectWith` are `F.map` over the foci,
+ * `collectList` supplies a singleton focus vector to reconstruction) and the read surface
+ * (`foldMap` / `headOption` / `length`). A provenance whose write needs something the
+ * aggregation cannot supply fails *here*.
+ * - Both composition directions are swept across the families, with an independently computed
+ * expectation rather than a re-statement of the optic's own definition.
+ * - The *outbound* direction is swept too: every writable provenance projected into `ModifyF`
+ * (writes and laws must match the source optic), the polymorphic factory with a type-changing
+ * write, the `Function1` (Grate) tuple, and the read-only `Forget[List]` escape over a
+ * `Fold`-sourced optic (available on the `T = Unit` shape).
+ * - The `Function1` (Grate) sub-shape has its own sweep in core's
+ * `MultiFocusFunction1CompositionSpec`: its only inbound family is `Direct`, since `Lens` /
+ * `Prism` / `Optional` → `Function1` is structurally absent.
+ */
+class MultiFocusCrossFamilySpec extends Specification with ScalaCheck:
+
+ private type MFL = MultiFocus[List]
+
+ private given Arbitrary[Box[Int]] = Arbitrary(Arbitrary.arbitrary[Int].map(Box(_)))
+
+ // ------------------------------------------------------------------
+ // One `MultiFocus[List]` optic per inbound family, all over a plain `List[Int]` so the collapsing
+ // `.collectList` applies (it demands `S =:= List[A]` and `T =:= List[B]`).
+ // ------------------------------------------------------------------
+
+ private val fromGeneric: Optic[List[Int], List[Int], Int, Int, MFL] =
+ MultiFocus.apply[List, Int]
+
+ /** A Lens whose write *reads* its own leftover (the `s.isEmpty` test), which is exactly the shape
+ * a forged leftover turns into an NPE.
+ */
+ private val fromLens: Optic[List[Int], List[Int], Int, Int, MFL] =
+ MultiFocus.fromLensF[List, List[Int], List[Int], Int, Int](
+ Lens[List[Int], List[Int]](identity, (s, m) => if s.isEmpty then m else m)
+ )
+
+ /** A "prism" that always hits: lawful, and a `Right` leftover its write has to read to know how
+ * the source is put back.
+ */
+ private val fromPrism: Optic[List[Int], List[Int], Int, Int, MFL] =
+ MultiFocus.fromPrismF[List, List[Int], List[Int], Int, Int](
+ Prism[List[Int], List[Int]](xs => Right(xs), identity)
+ )
+
+ private val fromOptional: Optic[List[Int], List[Int], Int, Int, MFL] =
+ MultiFocus.fromOptionalF[List, List[Int], List[Int], Int, Int](
+ Optional[List[Int], List[Int], List[Int], List[Int]](xs => Right(xs), sb => sb._2)
+ )
+
+ /** The `Direct` bridge: it keeps the focus type and wraps it in a singleton `List`, so its optic
+ * is over `List[Int]` with foci `List[List[Int]]` — a shape of its own, pinned in its own block.
+ */
+ private val fromIsoShim: Optic[List[Int], List[Int], List[Int], List[Int], MFL] =
+ summon[Composer[Direct, MFL]].to[List[Int], List[Int], List[Int], List[Int]](
+ Iso[List[Int], List[Int], List[Int], List[Int]](identity, identity)
+ )
+
+ /** The laws and definitions every `MultiFocus[List]` optic must satisfy, whatever built it. */
+ private def battery(o: Optic[List[Int], List[Int], Int, Int, MFL]): Prop =
+ val modifyIdentity = forAll { (xs: List[Int]) => o.modify(identity[Int])(xs) == xs }
+ val composeModify = forAll { (xs: List[Int]) =>
+ val f: Int => Int = _ + 1
+ val g: Int => Int = _ * 3
+ o.modify(g)(o.modify(f)(xs)) == o.modify(f.andThen(g))(xs)
+ }
+ val replaceIdempotent = forAll { (xs: List[Int], b: Int) =>
+ o.replace(b)(o.replace(b)(xs)) == o.replace(b)(xs)
+ }
+ val replaceIsMap = forAll { (xs: List[Int], b: Int) => o.replace(b)(xs) == xs.map(_ => b) }
+ val mapShaped = forAll { (xs: List[Int]) =>
+ val agg: List[Int] => Int = _.sum
+ o.collectMap[Int](agg)(xs) == xs.map(_ => agg(xs)) &&
+ o.collectWith(fa => a => agg(fa) + a)(xs) == xs.map(a => agg(xs) + a) &&
+ o.collectWith(_ => (a: Int) => a + 1)(xs) == o.modify(_ + 1)(xs)
+ }
+ val read = forAll { (xs: List[Int]) =>
+ o.foldMap[Int](identity)(xs) == xs.sum &&
+ o.headOption(xs) == xs.headOption &&
+ o.length(xs) == xs.length
+ }
+ modifyIdentity && composeModify && replaceIdempotent && replaceIsMap && mapShaped && read
+
+ /** A singleton source is guaranteed only for reconstructions that support focus-count changes.
+ * Composites and Prism misses preserve context instead; their boundaries are tested below.
+ */
+ private def collapses(o: Optic[List[Int], List[Int], Int, Int, MFL]): Prop =
+ forAll { (xs: List[Int]) => o.collectList(_.sum)(xs) == List(xs.sum) }
+
+ "inbound provenance — generic factory: MF laws + collect* + read surface" >> (battery(
+ fromGeneric
+ ) && collapses(fromGeneric))
+
+ /** A `MultiFocus[List]` optic that is itself a *composite* of two shipped optics, so its context
+ * records per-focus structure (`Z = (Xo, F[(Xi, Int)])`) rather than a single leftover.
+ */
+ private val fromComposite: Optic[List[Int], List[Int], Int, Int, MFL] =
+ MultiFocus
+ .apply[List, Int]
+ .andThen(Lens[Int, Int](identity, (_, m) => m))
+
+ "inbound provenance — composite of two shipped optics: MF laws + collect* + read surface" >>
+ battery(fromComposite)
+
+ "collectList boundary — empty composite retains its per-focus context" >> {
+ Prop(fromComposite.collectList(_.sum)(Nil) == Nil)
+ }
+
+ /** Lawful partial Prism: a hit removes the leading zero and reconstruction puts it back. */
+ private val fromPrependZeroPrism: Optic[List[Int], List[Int], Int, Int, MFL] =
+ MultiFocus.fromPrismF[List, List[Int], List[Int], Int, Int](
+ Prism[List[Int], List[Int]](
+ {
+ case 0 :: tail => Right(tail)
+ case xs => Left(xs)
+ },
+ 0 :: _
+ )
+ )
+
+ "collectList boundary — prepend-zero Prism preserves misses, including an empty source" >> {
+ val emptyMiss = fromPrependZeroPrism.collectList(_.sum)(Nil) == Nil
+ val nonEmptyMiss = forAll { (tail: List[Int]) =>
+ val source = 1 :: tail
+ fromPrependZeroPrism.collectList(_.sum)(source) == source
+ }
+ Prop(emptyMiss) && nonEmptyMiss
+ }
+
+ "collectList boundary — prepend-zero Prism rebuilds hits around the singleton focus vector" >> {
+ val emptyHit = fromPrependZeroPrism.collectList(_.sum)(List(0)) == List(0, 0)
+ val hits = forAll { (tail: List[Int]) =>
+ fromPrependZeroPrism.collectList(_.sum)(0 :: tail) == List(0, tail.sum)
+ }
+ Prop(emptyHit) && hits
+ }
+
+ // covers: the `Direct` bridge, whose foci are a singleton of the source value — the morph's write
+ // picks it back out (documented), so the properties are stated on that shape rather than
+ // element-wise.
+ "inbound provenance — Iso bridge (Direct): singleton foci obey MF1 / replace / read" >> {
+ val identityOk = forAll { (xs: List[Int]) =>
+ fromIsoShim.modify(identity[List[Int]])(xs) == xs
+ }
+ val replaceOk = forAll { (xs: List[Int], b: List[Int]) => fromIsoShim.replace(b)(xs) == b }
+ val readOk = forAll { (xs: List[Int]) =>
+ fromIsoShim.foldMap[List[Int]](identity)(xs) == xs && fromIsoShim.length(xs) == 1
+ }
+ identityOk && replaceOk && readOk
+ }
+
+ "inbound provenance — Lens bridge (Tuple2): MF laws + collect* + read surface" >> (battery(
+ fromLens
+ ) && collapses(fromLens))
+
+ "inbound provenance — Prism bridge (Either): MF laws + collect* + read surface" >> (battery(
+ fromPrism
+ ) && collapses(fromPrism))
+
+ "inbound provenance — Optional bridge (Affine): MF laws + collect* + read surface" >> (battery(
+ fromOptional
+ ) && collapses(fromOptional))
+
+ // covers: the polymorphic factory, whose read and write types differ — the properties are the
+ // pointwise results rather than MF1 (which needs S = T).
+ "inbound provenance — polymorphic factory: pointwise modify with a type change" >> {
+ val o: Optic[List[Int], List[String], Int, String, MFL] = MultiFocus.pApply[List, Int, String]
+ val pointwise = forAll { (xs: List[Int]) => o.modify(_.toString)(xs) == xs.map(_.toString) }
+ val collapsing = forAll { (xs: List[Int]) =>
+ o.collectList(_.sum.toString)(xs) == List(xs.sum.toString)
+ }
+ pointwise && collapsing
+ }
+
+ // ------------------------------------------------------------------
+ // Composition, both directions. Sources and inners are the `Box` shapes `MatrixFixtures`
+ // (CompositionMatrixSpec) already uses, so this sweep runs on the cells the matrix pins.
+ // ------------------------------------------------------------------
+
+ /** A `Box`-sourced lens whose write reads its leftover, so the `MultiFocus[List]` outer is built
+ * by a bridge whose write is not leftover-free either.
+ */
+ private val boxLens
+ : Optic[Box[List[Box[Int]]], Box[List[Box[Int]]], List[Box[Int]], List[Box[Int]], Tuple2] =
+ Lens[Box[List[Box[Int]]], List[Box[Int]]](_.a, (s, m) => s.copy(a = m))
+
+ private val mfOuter: Optic[Box[List[Box[Int]]], Box[List[Box[Int]]], Box[Int], Box[Int], MFL] =
+ MultiFocus.fromLensF[List, Box[List[Box[Int]]], Box[List[Box[Int]]], Box[Int], Box[Int]](
+ boxLens
+ )
+
+ // covers: a MultiFocus[List] outer composed with one inner per family it can morph into the carrier
+ // (Iso via Direct, Lens via Tuple2, Prism via Either, Optional via Affine) — the MF laws plus an
+ // independently computed element-wise expectation and a read-side sum.
+ "MultiFocus[List] outer ∘ each family inner: MF laws + element-wise expectation" >> {
+ val viaIso = mfOuter.andThen(Iso[Box[Int], Box[Int], Int, Int](_.a, Box(_)))
+ val viaLens = mfOuter.andThen(Lens[Box[Int], Int](_.a, (_, m) => Box(m)))
+ val viaPrism = mfOuter.andThen(Prism[Box[Int], Int](b => Right(b.a), Box(_)))
+ val viaOptional =
+ mfOuter.andThen(Optional[Box[Int], Box[Int], Int, Int](b => Right(b.a), sb => Box(sb._2)))
+
+ def pointwise(o: Optic[Box[List[Box[Int]]], Box[List[Box[Int]]], Int, Int, MFL]): Prop =
+ forAll { (bs: List[Box[Int]]) =>
+ val s = Box(bs)
+ o.modify(_ + 1)(s) == Box(bs.map(b => Box(b.a + 1))) &&
+ o.modify(identity[Int])(s) == s &&
+ o.foldMap[Int](identity)(s) == bs.map(_.a).sum
+ }
+
+ pointwise(viaIso) && pointwise(viaLens) && pointwise(viaPrism) && pointwise(viaOptional)
+ }
+
+ // ------------------------------------------------------------------
+ // Outbound: a MultiFocus optic handed *to* every family it can reach. The provenance blocks above
+ // pin "built from a family" (the inbound direction); these pin the other one, and each projection
+ // is checked against the source optic so it cannot drift from the behaviour it projects.
+ // ------------------------------------------------------------------
+
+ /** `MultiFocus[List] → ModifyF` — the write-only projection, for every writable provenance. */
+ private def modifyDirection(o: Optic[List[Int], List[Int], Int, Int, MFL]): Prop =
+ val lifted: Optic[List[Int], List[Int], Int, Int, ModifyF] =
+ summon[Composer[MFL, ModifyF]].to(o)
+ val sameWrites = forAll { (xs: List[Int]) =>
+ lifted.modify(_ + 1)(xs) == o.modify(_ + 1)(xs) &&
+ lifted.replace(7)(xs) == o.replace(7)(xs)
+ }
+ val laws = forAll { (xs: List[Int]) =>
+ val f: Int => Int = _ + 1
+ val g: Int => Int = _ * 3
+ lifted.modify(identity[Int])(xs) == xs &&
+ lifted.modify(g)(lifted.modify(f)(xs)) == lifted.modify(f.andThen(g))(xs)
+ }
+ sameWrites && laws
+
+ "outbound — ModifyF projection of the generic factory: writes match the source" >> modifyDirection(
+ fromGeneric
+ )
+
+ "outbound — ModifyF projection of the Lens bridge: writes match the source" >> modifyDirection(
+ fromLens
+ )
+
+ "outbound — ModifyF projection of the Prism bridge: writes match the source" >> modifyDirection(
+ fromPrism
+ )
+
+ "outbound — ModifyF projection of the Optional bridge: writes match the source" >> modifyDirection(
+ fromOptional
+ )
+
+ "outbound — ModifyF projection of a composite: writes match the source" >> modifyDirection(
+ fromComposite
+ )
+
+ // covers: the polymorphic factory into ModifyF — the projection has to carry a type-changing write,
+ // not just an endomorphism.
+ "outbound — ModifyF projection of the polymorphic factory: type-changing write" >> {
+ val o: Optic[List[Int], List[String], Int, String, MFL] = MultiFocus.pApply[List, Int, String]
+ val lifted: Optic[List[Int], List[String], Int, String, ModifyF] =
+ summon[Composer[MFL, ModifyF]].to(o)
+ forAll { (xs: List[Int]) =>
+ lifted.modify(_.toString)(xs) == o.modify(_.toString)(xs) && lifted.modify(_.toString)(
+ xs
+ ) == xs.map(_.toString)
+ }
+ }
+
+ // covers: `MultiFocus[List] → Forget[List]` — the read-only escape, available on the `T = Unit`
+ // shape (a Forget-carried optic has no write). Its source is a `Fold`, so this is also the one
+ // place the fold family meets the carrier: the escape must read exactly what the fold and the
+ // carrier read.
+ "outbound — Forget[List] escape over a Fold-sourced optic: read matches the source" >> {
+ val mfFold: Optic[List[Int], Unit, Int, Unit, MFL] =
+ summon[Composer[Forget[List], MFL]].to(Fold[List, Int])
+ val escaped: Optic[List[Int], Unit, Int, Unit, Forget[List]] =
+ summon[Composer[MFL, Forget[List]]].to(mfFold)
+ forAll { (xs: List[Int]) =>
+ escaped.to(xs).value == mfFold.to(xs).foci &&
+ escaped.to(xs).value == Fold[List, Int].to(xs).value &&
+ escaped.to(xs).value.sum == xs.sum
+ }
+ }
+
+ // covers: the Function1 (Grate) sub-shape into ModifyF — the absorbed-Grate carrier's outbound
+ // direction, paired with the tabulating factory that builds it.
+ "outbound — ModifyF projection of the Function1 (Grate) tuple: writes match the source" >> {
+ val grate: Optic[(Int, Int, Int), (Int, Int, Int), Int, Int, MultiFocus[Function1[Int, *]]] =
+ MultiFocus.tuple[(Int, Int, Int), Int]
+ val lifted: Optic[(Int, Int, Int), (Int, Int, Int), Int, Int, ModifyF] =
+ summon[Composer[MultiFocus[Function1[Int, *]], ModifyF]].to(grate)
+ forAll { (a: Int, b: Int, c: Int) =>
+ lifted.modify(_ + 1)((a, b, c)) == grate.modify(_ + 1)((a, b, c)) &&
+ lifted.replace(0)((a, b, c)) == grate.replace(0)((a, b, c))
+ }
+ }
+
+ // covers: the other direction — a family outer with a MultiFocus[List] inner, morphed through the
+ // same carrier. Sources are singletons: the inbound `Direct` / `Tuple2` morphs pick the singleton
+ // focus out on the way back (documented), so a multi-focus write is out of their contract.
+ "each family outer ∘ MultiFocus[List] inner: MF laws + pointwise result" >> {
+ val viaIso = Iso[Box[List[Int]], Box[List[Int]], List[Int], List[Int]](_.a, Box(_))
+ .andThen(MultiFocus.apply[List, Int])
+ val viaLens = Lens[Box[List[Int]], List[Int]](_.a, (_, m) => Box(m))
+ .andThen(MultiFocus.apply[List, Int])
+
+ def singleton(o: Optic[Box[List[Int]], Box[List[Int]], Int, Int, MFL]): Prop =
+ forAll { (n: Int) =>
+ val s = Box(List(n))
+ o.modify(_ + 1)(s) == Box(List(n + 1)) &&
+ o.modify(identity[Int])(s) == s &&
+ o.foldMap[Int](identity)(s) == n
+ }
+
+ singleton(viaIso) && singleton(viaLens)
+ }