Performance

Every row invokes the product's direct CLI executable; TomlSmith uses the release-mode Rust tomlsmith binary. Package-manager launchers and wrapper processes are excluded from the comparison.

Reproduction commands, product setup, and the measurement harness are maintained in the tomlsmith/benchmark repository.

Check · TOML 1.0

median latency · logarithmic scale · lower is better
TomlSmith native CLI
10.21 ms · 12.26 MiB/s · 6.98 MiB RSS
tomlv · BurntSushi
12.07 ms · 10.37 MiB/s · 8.97 MiB RSS
Taplo CLI
23.34 ms · 5.36 MiB/s · 18.59 MiB RSS
Tombi
206.80 ms · 0.61 MiB/s · 27.25 MiB RSS

Check · TOML 1.1

median latency · logarithmic scale · lower is better
TomlSmith native CLI
8.17 ms · 15.33 MiB/s · 6.95 MiB RSS
tomlv · BurntSushi
10.07 ms · 12.43 MiB/s · 8.89 MiB RSS
Tombi
193.31 ms · 0.65 MiB/s · 27.28 MiB RSS

Format · TOML 1.0

median latency · logarithmic scale · lower is better
TomlSmith native CLI
8.35 ms · 14.99 MiB/s · 6.95 MiB RSS
tomll · go-toml*
10.91 ms · 11.47 MiB/s · 6.45 MiB RSS
dprint + TOML
20.12 ms · 6.22 MiB/s · 19.94 MiB RSS
Taplo CLI
22.07 ms · 5.67 MiB/s · 18.77 MiB RSS
Tombi
655.14 ms · 0.19 MiB/s · 31.86 MiB RSS
Prettier + TOML
678.41 ms · 0.18 MiB/s · 594.09 MiB RSS

Format · TOML 1.1

median latency · logarithmic scale · lower is better
TomlSmith native CLI
8.36 ms · 14.97 MiB/s · 7.02 MiB RSS
tomll · go-toml*
9.87 ms · 12.68 MiB/s · 6.56 MiB RSS
dprint + TOML
18.99 ms · 6.59 MiB/s · 19.94 MiB RSS
Tombi
721.46 ms · 0.17 MiB/s · 31.55 MiB RSS

* tomll is a semantic re-printer: it discards comments and rewrites literal styles, so it does less work than the comment-preserving formatters.

How to read the results

  • Every number is the median cold-start end-to-end latency for the selected synthetic document; lower is better, and every timed sample starts a new process.
  • TOML 1.0 and 1.1, and check and format, are four independent lanes. Compare products only within one panel.
  • Differences within a few percent can be session drift and should not be read as a stable ordering.
  • tomll discards comments and rewrites literal styles, so it performs less work than the comment-preserving formatters.

Measurement contract

This comparison measures product CLIs, not parser libraries:

  • TomlSmith is built in release mode and invoked directly as the native Rust CLI, matching the single-process boundary used by Taplo, dprint, and the Go tools.
  • Every timed sample starts a fresh process and uses stdin/stdout/stderr.
  • TOML 1.0 and 1.1, and check and format, are separate lanes.
  • Correctness is checked before timing. Format output must reparse under the same version, preserve decoded content, and remain unchanged on a second format pass.
  • Peak RSS is measured in separate fresh processes so the resource meter does not affect latency samples.