groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Accessibility of man pages


From: Eli Zaretskii
Subject: Re: Accessibility of man pages
Date: Sat, 08 Apr 2023 23:02:11 +0300

> From: Dirk Gouders <dirk@gouders.net>
> Cc: Colin Watson <cjwatson@debian.org>, Eli Zaretskii <eliz@gnu.org>,
>         linux-man@vger.kernel.org, help-texinfo@gnu.org,
>         nabijaczleweli@nabijaczleweli.xyz, g.branden.robinson@gmail.com,
>         groff@gnu.org
> Date: Sat, 08 Apr 2023 21:48:13 +0200
> 
> $ find /usr/share/man -type f -exec bzgrep -l RLIMIT_NOFILE {} \;
> /usr/share/man/man1/runuser.1.bz2
> /usr/share/man/man1/su.1.bz2
> /usr/share/man/man1/nghttpx.1.bz2
> /usr/share/man/man3/getdtablesize.3.bz2
> /usr/share/man/man3/mq_open.3.bz2
> /usr/share/man/man3/errno.3.bz2
> /usr/share/man/man3/sysconf.3.bz2
> /usr/share/man/man3p/getrlimit.3p.bz2
> /usr/share/man/man3p/sysconf.3p.bz2
> /usr/share/man/man3p/posix_spawn_file_actions_addclose.3p.bz2
> /usr/share/man/man0p/sys_resource.h.0p.bz2
> /usr/share/man/man2/pidfd_open.2.bz2
> /usr/share/man/man2/poll.2.bz2
> /usr/share/man/man2/getrlimit.2.bz2
> /usr/share/man/man2/open.2.bz2
> /usr/share/man/man2/select.2.bz2
> /usr/share/man/man2/fcntl.2.bz2
> /usr/share/man/man2/seccomp_unotify.2.bz2
> /usr/share/man/man2/dup.2.bz2
> /usr/share/man/man2/pidfd_getfd.2.bz2
> /usr/share/man/man7/fanotify.7.bz2
> /usr/share/man/man7/capabilities.7.bz2
> /usr/share/man/man7/unix.7.bz2
> /usr/share/man/man5/proc.5.bz2
> 
> Yes, it's very slow but close to `man -K`:
> 
> find...             man -K...
> 
> real 107.45         real 96.34
> user 117.06         user 70.11
> sys 14.43           sys 26.86
> 
> [a thought later]
> 
> Oh, I found something much faster:
> 
> $ time -p find /usr/share/man -type f | xargs bzgrep -l RLIMIT_NOFILE
> [snip]
> 
> real 24.30
> user 32.34
> sys 6.84
> 
> Hmm, perhaps, someone has an explanation for this?

Multiprocessing, obviously.  Your CPU has more than one execution
unit, so the pipe via xargs runs 'find' and 'bzgrep' in parallel on
two different execution units.  By contrast, "find -exec" runs them
sequentially, in a single thread.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]