[Bug 927028] Re: 'apropos' maxes out CPU when run with '/bin/*' as argument

Colin Watson cjwatson at canonical.com
Sat Feb 18 01:53:37 UTC 2012


Incidentally you'll find that, besides giving what I think is probably
more like the right answer, 'whatis <long list>' is much quicker.  It
still has a similar inefficiency where it reopens the database every
time, but whatis has a much quicker per-item search than apropos does
(it only has to look up a single database key rather than scanning them
all) so it doesn't matter so much.

  $ bash -c 'cd /bin; time whatis * >/dev/null 2>&1'
  
  real    0m0.042s
  user    0m0.012s
  sys     0m0.008s

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to man-db in Ubuntu.
https://bugs.launchpad.net/bugs/927028

Title:
  'apropos' maxes out CPU when run with '/bin/*' as argument

Status in “man-db” package in Ubuntu:
  Triaged

Bug description:
  When 'apropos' is executed with an argument containing a list of files
  in a directory (e.g., '/bin/*'), it maxes out the CPU for a good long
  while (~40 seconds for /bin/*, about 9.5 minutes for /usr/bin/[a-z]*).

  --------------------------------------------------------------------------------------------------------------------------------------------
  ben at feynman:~$ apropos ~/bin/* & sleep 2; top -b -p $! -d 1 -n 3
  [2] 9671

    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                             
   9671 ben       20   0  7080 2224  928 R   100  0.2   0:02.46 apropos                                             

  
    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                             
   9671 ben       20   0  7012 2160  928 R   101  0.2   0:03.45 apropos                                             

  
    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                             
   9671 ben       20   0  7012 2164  928 R   100  0.2   0:04.44 apropos                                             
  --------------------------------------------------------------------------------------------------------------------------------------------

  ben at feynman:~$ dpkg -S /usr/bin/apropos
  man-db: /usr/bin/apropos

  ben at feynman:~$ lsb_release -rd
  Description:    Ubuntu 11.10
  Release:        11.10

  ben at feynman:~$ apt-cache policy man-db
  man-db:
    Installed: 2.6.0.2-2
    Candidate: 2.6.0.2-2
    Version table:
   *** 2.6.0.2-2 0
          500 http://us.archive.ubuntu.com/ubuntu/ oneiric/main i386 Packages
          100 /var/lib/dpkg/status

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/man-db/+bug/927028/+subscriptions




More information about the foundations-bugs mailing list