On Tue, Mar 29, 2011 at 18:52, Torsten Förtsch <torsten.foert...@gmx.net> wrote:
> Meanwhile Ævar uploaded his own quite specialized smaps parser > (Linux::Smaps::Tiny) to CPAN. Here is what I get in comparison: > > perl -Ilib -MLinux::Smaps -MLinux::Smaps::Tiny \ > -MBenchmark=:all,:hireswallclock -e ' > cmpthese timethese -5, { > tiny=>sub{Linux::Smaps::Tiny::get_smaps_summary}, > smaps=>sub{scalar Linux::Smaps->new->all} > } > ' > Benchmark: running smaps, tiny for at least 5 CPU seconds... > smaps: 5.0982 wallclock secs ( 4.56 usr + 0.47 sys = 5.03 CPU) @ > 365.81/s (n=1840) > tiny: 5.51047 wallclock secs ( 4.63 usr + 0.83 sys = 5.46 CPU) @ > 591.58/s (n=3230) > Rate smaps tiny > smaps 366/s -- -38% > tiny 592/s 62% -- I've just uploaded 0.06 of Linux::Smaps::Tiny. It'll use C XS code to parse the file by default, falling back to the pure-perl version if there's no compiler on the system: $ perl -Ilib -MLinux::Smaps -MLinux::Smaps::Tiny -MLinux::Smaps::Tiny::PP -MBenchmark=:all,:hireswallclock -e ' cmpthese timethese -5, { tiny=>sub{Linux::Smaps::Tiny::get_smaps_summary}, tiny_pp=>sub{Linux::Smaps::Tiny::PP::__get_smaps_summary}, smaps=>sub{scalar Linux::Smaps->new->all} } ' Benchmark: running smaps, tiny, tiny_pp for at least 5 CPU seconds... smaps: 5.3729 wallclock secs ( 4.42 usr + 0.93 sys = 5.35 CPU) @ 792.52/s (n=4240) tiny: 5.42358 wallclock secs ( 2.94 usr + 2.46 sys = 5.40 CPU) @ 2082.59/s (n=11246) tiny_pp: 5.39001 wallclock secs ( 4.02 usr + 1.36 sys = 5.38 CPU) @ 1029.18/s (n=5537) Rate smaps tiny_pp tiny smaps 793/s -- -23% -62% tiny_pp 1029/s 30% -- -51% tiny 2083/s 163% 102% --