XPerf
LanguagesElixirEvidence

be-io-puts-hot — IO.puts in loop

Status: measured

Claim

Per-iteration IO.puts (null group leader) is orders of magnitude slower than summing then one IO.puts on OTP 29 / Elixir 1.20.4. The after sample is 0.000834 ms, so the ratio sits on the timer floor.

How measured

  • Harness: examples/bench/evidence_be001_be003.exs

  • N=5000; IO redirected to a null process

  • Raw lines: be-io-puts-hot.jsonl

Runtime (this evidence file)

FieldValue
When2026-10-22 Asia/Shanghai (JSONL ts is UTC)
otp27
elixir1.18.3
Median before (io_puts_in_loop)3.627 ms
Median after (io_once_after)0.000834 ms
ratio before/after~4349×

Lint mapping

beamperf-lint be-io-puts-hot: keep package default severity; evidence does not auto-escalate.

Limits

  • I/O / message-passing cost; env-dependent.
  • Default stays off.