Hello! On Thursday 04 February 2010 22:09:23 Alexander Galanin wrote: > On Thu, 4 Feb 2010 22:03:38 +0300 > Alexey Pechnikov <pechni...@mobigroup.ru> wrote: > > > Hello! > > > > On Thursday 04 February 2010 21:37:49 Alexander Galanin wrote: > > > cat в некоторых шеллах встроенный, потому и может оказаться быстрее. Для > > > чистоты эксперимента надо вызывать /bin/cat. > > > > Да как ни вызывай, с exec медленнее: > > Следи за руками :)
Вы результаты не иначе как в текстовом редакторе набираете? :-) > $ cat x-c > #!/bin/dash > exec /bin/cat > $ /usr/bin/time sh -c "seq 1000 | xargs -n 1 ./x-c /dev/null" > 0.42user 0.98system 0:01.41elapsed 100%CPU (0avgtext+0avgdata 0maxresident)k > 0inputs+0outputs (0major+341097minor)pagefaults 0swaps $ /usr/bin/time sh -c "seq 1000 | xargs -n 1 ./x-c /dev/null" 0.76user 1.93system 0:02.70elapsed 99%CPU (0avgtext+0avgdata 5504maxresident)k 0inputs+128outputs (0major+317926minor)pagefaults 0swaps > $ cat x-c > #!/bin/dash > /bin/cat > $ /usr/bin/time sh -c "seq 1000 | xargs -n 1 ./x-c /dev/null" > 0.54user 1.21system 0:01.77elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k > 0inputs+0outputs (0major+395531minor)pagefaults 0swaps $ /usr/bin/time sh -c "seq 1000 | xargs -n 1 ./x-c /dev/null" 0.34user 1.18system 0:01.68elapsed 91%CPU (0avgtext+0avgdata 5520maxresident)k 0inputs+248outputs (0major+370276minor)pagefaults 0swaps Итого с exec почти вдвое медленнее. $ uname -a Linux veter-laptop.mobigroup.ru 2.6.32-trunk-686 #1 SMP Sun Jan 10 06:32:16 UTC 2010 i686 GNU/Linux $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Core(TM)2 Duo CPU T5470 @ 1.60GHz stepping : 13 cpu MHz : 800.000 cache size : 2048 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm ida bogomips : 3191.94 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: ... Best regards, Alexey Pechnikov. http://pechnikov.tel/