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

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


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: Интересует экспертная оценка.

-- 

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


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


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