A simple command-line utility to pretty print structures encoded using Erlang's External Term Format. The input is read from stdin and output on stdout, making ppbert a good candidate for shell pipelines.
At the moment, ppbert supports only a subset of the field types of the External Term Format:
```sh
$ ppbert
$ printf "\x83\x77\x04atom" | ppbert atom ```
Ppbert is written in Rust and offers an appreciable performance gain
over using Erlang's erlang:binary_to_term/1
and io:format/2
.
```sh $ cat erl_ppbert
main(Args) -> lists:foreach(fun (Filename) -> {ok, Binary} = file:readfile(Filename), io:format("~p~n", [binaryto_term(Binary)]) end, Args).
$ du large.bert 96M large.bert
$ time ./erl_ppbert large.bert >/dev/null
real 1m10.968s user 0m49.644s sys 0m13.628s
$ time ppbert real 0m19.670s
user 0m19.092s
sys 0m0.432s
```Future work