chiark / gitweb /
basic: use _unlocked() stdio in strip_tab_ansi() (#6385)
authorVito Caputo <vcaputo@pengaru.com>
Mon, 17 Jul 2017 22:05:52 +0000 (15:05 -0700)
committerSven Eden <yamakuzure@gmx.net>
Thu, 10 Aug 2017 08:07:19 +0000 (10:07 +0200)
commitdc531f01b274c5317d90e7f96275af28fd1ceda2
tree6ddbcc9efa630c754175954b62240f61dd09edee
parentdc430fe0f27b980fe47e393c9a66fde2145d4a7a
basic: use _unlocked() stdio in strip_tab_ansi() (#6385)

Trivial performance boost by explicitly bypassing the implicit
locking of stdio.

This significantly affects common cases of `journalctl` usage:

 Before:

  # time ./journalctl -b -1 > /dev/null
   real    0m26.628s
   user    0m26.495s
   sys     0m0.125s

  # time ./journalctl -b -1 > /dev/null
   real    0m27.069s
   user    0m26.936s
   sys     0m0.134s

  # time ./journalctl -b -1 > /dev/null
   real    0m26.727s
   user    0m26.607s
   sys     0m0.119s

 After:

  # time ./journalctl -b -1 > /dev/null
   real    0m23.394s
   user    0m23.244s
   sys     0m0.142s

  # time ./journalctl -b -1 > /dev/null
   real    0m23.283s
   user    0m23.160s
   sys     0m0.121s

  # time ./journalctl -b -1 > /dev/null
   real    0m23.274s
   user    0m23.125s
   sys     0m0.144s

Fixes https://github.com/elogind/elogind/issues/6341
src/basic/string-util.c