[PATCH 4/1] t3920: replace two cats with a tee
- From
René Scharfe <l.s.r@web.de>
- Date
- Dec 2, 2022, 16:51 UTC
- Message-ID
- <203cb627-2423-8a35-d280-9f9ffc66e072@web.de>
- In-Reply-To
- <febcfb0a-c410-fb71-cff9-92acfcb269e2@kdbg.org>
Use tee(1) to replace two calls of cat(1) for writing files with different line endings. That's shorter and spawns less processes.
It has a small, but measurable performance impact on my Windows machine. Here are the numbers before:
$ (cd t && hyperfine.exe -w3 "sh.exe t3920-crlf-messages.sh")
Benchmark 1: sh.exe t3920-crlf-messages.sh
Time (mean ± σ): 5.705 s ± 0.047 s [User: 0.000 s, System: 0.001 s]
Range (min … max): 5.632 s … 5.772 s 10 runs... and with this patch:
$ (cd t && hyperfine.exe -w3 "sh.exe t3920-crlf-messages.sh")
Benchmark 1: sh.exe t3920-crlf-messages.sh
Time (mean ± σ): 5.616 s ± 0.021 s [User: 0.001 s, System: 0.002 s]
Range (min … max): 5.577 s … 5.644 s 10 runsSigned-off-by: René Scharfe <l.s.r@web.de> --- t/t3920-crlf-messages.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/t/t3920-crlf-messages.sh b/t/t3920-crlf-messages.sh index 4fc9fa9cad..1f64ce565f 100755 --- a/t/t3920-crlf-messages.sh +++ b/t/t3920-crlf-messages.sh @@ -9,8 +9,7 @@ LIB_CRLF_BRANCHES="" create_crlf_ref () { branch="$1" && - cat >.crlf-orig-$branch.txt && - cat .crlf-orig-$branch.txt | append_cr >.crlf-message-$branch.txt && + tee .crlf-orig-$branch.txt | append_cr >.crlf-message-$branch.txt && grep 'Subject' .crlf-orig-$branch.txt | tr '\n' ' ' | sed 's/[ ]*$//' | tr -d '\n' >.crlf-subject-$branch.txt && grep 'Body' .crlf-orig-$branch.txt | append_cr >.crlf-body-$branch.txt && LIB_CRLF_BRANCHES="${LIB_CRLF_BRANCHES} ${branch}" && -- 2.38.1.windows.1