mirror of
https://codeberg.org/landley/toybox.git
synced 2026-01-26 14:13:25 +00:00
The AOSP build doesn't use tr (or anything that's still in pending), but the kernel folks have been more aggressive. They found that tr's pathological flushing was adding minutes to their build times. Just removing the fflush() made tr significantly faster for my trivial test, but still slow, with all the time going into stdio. Rewriting the loop to modify toybuf in place and then do one write per read made most of the difference, but special-casing the "neither -d nor -s" case made a measurable difference too on a Xeon. Bug: http://b/174773617
12 lines
340 B
Bash
Executable File
12 lines
340 B
Bash
Executable File
#!/bin/bash
|
|
|
|
[ -f testing.sh ] && . testing.sh
|
|
|
|
#testing "name" "command" "result" "infile" "stdin"
|
|
|
|
testing "" "tr 1 2" "223223223" "" "123123123"
|
|
testing "-d" "tr -d 1" "232323" "" "123123123"
|
|
testing "-s" "tr -s 1" "12223331222333" "" "111222333111222333"
|
|
|
|
testing "no pathological flushing" "seq 10000000 | tr 1 2 > /dev/null" "" "" ""
|