[devel] [SCM] packages/python3-module-pygobject: heads/sisyphus

Aleksey Avdeev solo на solin.spb.ru
Вт Апр 9 14:32:02 MSK 2013


09.04.2013 14:19, Aleksey Avdeev пишет:
> 09.04.2013 13:51, Dmitry V. Levin пишет:
>> On Tue, Apr 09, 2013 at 01:14:21PM +0400, Paul Wolneykien wrote:
>>> 09.04.2013 10:42, Dmitry V. Levin пишет:
>>>> Я посмотрел логи последней тестовой 
>>>> пересборки, там более 60
>>>> пакетов python*-module-*, в которых используется
>>>> 	for var in $(find
>>>> и что-то мне подсказывает (не глядя в 
>>>> спеки), что все это будет
>>>> гораздо лучше работать в форме
>>>> 	find -exec ... +
>>>
>>>   А почему так? "for" же встроенная 
>>>   конструкция, а find -exec наверняка на каждый 
>>> exec форкает отдельную оболочку.
>>
>> Если я расскажу, как именно оно происходит, вы же все равно не поверите.
>> И правильно сделаете, зачем верить на слово, когда можно проверить
>> собственноручно.  Сравните
>> strace -feexecve -o '|grep -Fc execve' sh -c 'for f in $(find /usr/ -type f -name "*.py"); do ls -- "$f"; done > /dev/null'
>> и
>> strace -feexecve -o '|grep -Fc execve' sh -c 'find /usr/ -type f -name "*.py" -exec ls -- {} + > /dev/null'
>>
>> Можете еще и время сравнить:
>> time sh -c 'for f in $(find /usr/ -type f -name "*.py"); do ls -- "$f"; done > /dev/null'
>> против
>> time sh -c 'find /usr/ -type f -name "*.py" -exec ls -- {} + > /dev/null'
> 
>   А как на этом фоне конструкции вида:
> 
> find ... | xargs ...
> 
> PS: Интересует экспертная оценка.

  По

strace -feexecve -o '|grep -Fc execve' sh -c 'find /usr/ -type f -name
"*.py"|xargs ls -- > /dev/null'

time sh -c 'find /usr/ -type f -name "*.py"|xargs ls -- > /dev/null'

  У меня получилось что вариант "find ... | xargs ..." близок к
"find ... -exec ...", но немного затратнее.

-- 

С уважением. Алексей.


----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 897 байтов
Описание: OpenPGP digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20130409/12fd1947/attachment.bin>


Подробная информация о списке рассылки Devel