tech-userlevel archive

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

Re: optimize ps(1) for slow machines



On Sun, Nov 27, 2016 at 05:05:47PM +0900, Rin Okuyama wrote:
> ps(1) is very slow on old machines when its output is sorted by CPU
> usage. This is because it calculate CPU usage of two processes using
> exp(3) and log(3) every time when it compare them in qsort(3). This
> means that it carries out expensive floating-point arithmetic
> O[N log(N)] times when N processes are shown.
> 
> Here, I attached a patch where
> 
> (1) CPU usage is calculated only once per process
> (2) do not call log(3) in CPU usage calculations
> 
> This significantly improves performance on, e.g., a m68k box without
> FPU. In addition, I did
> 
> (3) in donlist{,_sysctl}, use common default values and warn user
> appropriately when an error occurs
> 
> Can I commit this? Any suggestions or comments?

Looks good to me.

Martin


Home | Main Index | Thread Index | Old Index