[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