Verdict#

Question

Verdict

Safer than permanent os.remove / bare rm?

Yes — recoverable FreeDesktop trash + rm fail-safes

Safer than trash-cli?

Roughly equivalent FreeDesktop correctness; stronger rm-flag fail-safes on put

Better as a daily driver for this niche?

Yes for native multi-call + in-process Python

Faster?

Yes on the measured fixtures (see dated table; not universal)

Reproduce#

cargo build --release
export RTRASH_BIN=$PWD/target/release/rtrash
# Real Python trash-cli (not multi-call rtrash on PATH):
export TRASH_CLI_BIN_DIR=$PWD/.venv-bench/bin
python3 benches/compare_trash_cli.py | tee compare-trash-cli.log

Fixture: 400 small files + multi-file directory tree; two trials; put then empty with --trash-dir pin. Harness rejects trash-put when it is multi-call rtrash.

Measured results (Linux x8664, 2026-07-08)#

Tool

put avg (s)

empty avg (s)

rtrash 0.1.2 release

0.005449

0.002986

trash-cli 0.24.5.26

0.074310

0.039565

speedup

~13.6×

~13.3×

Both tools: ec=0, entries=401 after put, empty leaves files_left=0 info_left=0, LIST_OK for a single-file put. Optional peers trashy/gtrash: missing on the host. Earlier 2026-07-07 snapshot (~13× / ~12×) superseded by the 2026-07-08 table.