[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] use unlocked stdio functions
From: |
Grisha Levit |
Subject: |
[PATCH] use unlocked stdio functions |
Date: |
Mon, 5 Feb 2024 22:47:54 -0500 |
Bash makes many calls to stdio functions that may have unlocked_stdio(3)
equivalents. Since the locking functionality provided by the regular
versions is only useful in multi-threaded applications, it probably makes
sense for Bash to use the *_unlocked versions where available.
E.g. in situations where execution time is dominated by putchar(3) calls,
using putchar_unlocked(3) can offer an ~2X speedup:
$ fun() { printf -v X "%$((1<<24))s" && time printf "$X"; }
$ export -f fun
$ bash.old -c fun >/dev/null
real 0m0.720s
user 0m0.669s
sys 0m0.048s
$ bash.new -c fun >/dev/null
real 0m0.370s
user 0m0.301s
sys 0m0.067s
This patch is basically an adoption of the unlocked-io module from Gnulib.
0001-use-unlocked-stdio-functions.patch
Description: Binary data
- [PATCH] use unlocked stdio functions,
Grisha Levit <=