]> git.ipfire.org Git - thirdparty/systemd.git/commit
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)
committerLennart Poettering <lennart@poettering.net>
Mon, 17 Jul 2017 22:05:52 +0000 (00:05 +0200)
commitdb3f45e2d2586d78f942a43e661415bc50716d11
tree4dcba7af3a20406228a49a50f7c24838ba9c3fde
parente758bc9132305b4398471bf7002ccd8b45b2b5a4
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/systemd/systemd/issues/6341
src/basic/string-util.c