On Friday, February 11, 2011 17:20:07 Perrin Harkins wrote:
> I used to be a big proponent of ASL, but I rely on it less since years
> ago when you pointed out that the shared sizes were not accurate on
> Linux.  I know that Smaps helps with that, but it seems fairly
> expensive so I've avoided it.

To assess how expensive it is, here is a comparison. I compare reading 24927 
bytes from /proc/$$/smaps, from a plain file and from /dev/urandom the pseudo 
random number generator in kernel:

$ perl -MBenchmark=:all,:hireswallclock -e '
  cmpthese timethese -10, {
    file=>sub{open my $f, "<", "xx" or die; $/=\24927;
              24927==length readline $f or die},
   smaps=>sub{open my $f, "<", "/proc/".$ARGV[0]."/smaps" or die; $/=\24927;
              24927==length readline $f or die},
 urandom=>sub{open my $f, "<", "/dev/urandom" or die; $/=\24927;
              24927==length readline $f or die}}' $$
Benchmark: running file, smaps, urandom for at least 10 CPU seconds...
      file: 12.4656 wallclock secs ( 7.94 usr +  4.45 sys = 12.39 CPU) @ 
47120.02/s (n=583817)
     smaps: 10.1048 wallclock secs ( 0.59 usr +  9.50 sys = 10.09 CPU) @ 
3287.22/s (n=33168)
   urandom: 11.618 wallclock secs ( 0.03 usr + 11.57 sys = 11.60 CPU) @ 
198.28/s (n=2300)
           Rate urandom   smaps    file
urandom   198/s      --    -94%   -100%
smaps    3287/s   1558%      --    -93%
file    47120/s  23665%   1333%      --

Torsten Förtsch

-- 
Need professional modperl support? Hire me! (http://foertsch.name)

Like fantasy? http://kabatinte.net

Reply via email to