Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/components/rind/quic.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ const table = {
const source = (
<>
AES-128-GCM seal, criterion's estimate from rind's benchmark report at {commit(data.source.rind)}, run{" "}
{days(data.hosts)}: {data.hosts.map((h) => `${h.name} is ${h.source.cpu}`).join(", ")}. On a CPU with DIT, rind
holds it across the timed loop, as a caller batching packets does.
{days(data.hosts)}: {data.hosts.map((h) => `${h.name} is ${h.source.cpu}`).join(", ")}. On Mac, rind holds DIT
across the timed loop, as a caller batching packets does.
</>
);

Expand Down Expand Up @@ -152,7 +152,7 @@ export default function Quic() {
<p class="fine">
AES-128-GCM, the geometric mean over CPUs.{" "}
{data.hosts.map((h) => `${h.name}: ${times(ratio(h, "1350B"))}`).join(", ")}. aws-lc is Amazon's BoringSSL fork.
On ARM, rind holds DIT (constant-time mode) across each batch.
On Mac, rind holds DIT (constant-time mode) across each batch.
</p>
</Figure>
);
Expand Down
6 changes: 3 additions & 3 deletions src/components/rind/timings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ export default function Timings() {
source={
<>
Criterion's estimates from rind's benchmark report at {commit(data.source.rind)}, run {days(data.hosts)}, as{" "}
{data.hosts.map((h) => h.name).join(" / ")}. Every library runs its native path on each CPU. Where the CPU has
DIT, rind holds it across the timed loop, as a caller batching calls does.
{data.hosts.map((h) => h.name).join(" / ")}. Every library runs its native path on each CPU. On Mac, rind
holds DIT across the timed loop, as a caller batching calls does.
</>
}
>
Expand Down Expand Up @@ -104,7 +104,7 @@ export default function Timings() {
</div>
<Bands />
<p class="fine">
Squares: {data.hosts.map((h) => h.name).join(", ")}. Blank: not offered. On ARM, rind holds DIT (constant-time
Squares: {data.hosts.map((h) => h.name).join(", ")}. Blank: not offered. On Mac, rind holds DIT (constant-time
mode) across each batch.
</p>
</Figure>
Expand Down
2 changes: 1 addition & 1 deletion tools/rind/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ bun tools/rind/refresh.ts libraries <rind> # libraries.json: every library's t
```

`build` leaves out a host whose report skipped its build cost (a busy host does) and says so; rerun that host's report to bring it back.
`libraries` charts the four hosts in `refresh.ts`'s `HOSTS`, Apple M4 included, timing rind with DIT held across each batch.
`libraries` charts the four hosts in `refresh.ts`'s `HOSTS`, Apple M4 included, timing rind on Mac with DIT held across each batch.
`libraries` reads end-to-end proofs from `verified.toml`. Partial proofs, where a proven routine does the core math under unproven glue, live in `refresh.ts`'s `PARTIAL`, by architecture; recheck them against each library's source for each architecture when a locked version changes.

## Runtimes
Expand Down
2 changes: 1 addition & 1 deletion tools/rind/refresh.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ function build(rind: string) {

// The libraries rind's report times, by its names for them.
const LIBRARIES = ["rind", "aws-lc-rs", "ring", "rustcrypto", "graviola", "libcrux", "openssl"];
// The post assumes callers hold DIT across a batch, so on a CPU with DIT, rind's time is the report's
// The post assumes callers hold DIT across a batch, so on Mac, rind's time is the report's
// rind-dit-held, which holds it across the timed loop rather than setting it around each call.
const timed = (lib: string) => (lib === "rind" ? ["rind-dit-held", "rind"] : [lib]);

Expand Down
Loading