Libero Transport Benchmarks

This directory contains a reproducible benchmark harness for comparing Libero’s default ETF transport with the generated JSON transport.

Run it from the repository root:

bash benchmarks/run.sh

The script creates a temporary Gleam project, points it at this checkout of Libero, generates Libero artifacts from explicit Rally-style seeds, then runs benchmark modules against the generated helpers. Results overwrite the current report and CSV files in this directory.

Current report:

The benchmark deliberately measures separate stages:

Payload coverage includes app-like shapes plus an explicit type_matrix payload covering shared transport shapes: primitives, BitArray, lists, Option, Result, tuples, zero-field variants, unlabelled constructors, nested custom types, and Dict with String, Int, and Bool keys.

Do not compare a single row as “JSON vs ETF overall”. The report labels each row by stage because the useful signal is where each codec spends time.

Search Document