Видео смотреть бесплатно

Смотреть русский видео

Официальный сайт oriflame100 24/7/365

Смотреть видео бесплатно

philosoft 24.04.2011 23:03

Tips & tricksМногопоточное выполнение файловых операций

xargs
Оказывается многие не знают о существовании опции -P у утилиты xargs. use-case: пережать mp3-ки для плеера
1
ls *wav | xargs -I'{}' -P4 lame -Sh '{}'

Опция -P указывает количество одновременно запускаемых процессов.

Архиваторы
Существуют многопоточные версии gzip и bzip2 — pigz и pbzip2 соответственно. Опции у этих утилит совпадают с опциями соответствующих однопоточных архиваторов, имеется опция -p для указания количества потоков упаковки.

Тривиальная демонстрация
Intel Core i5 - 430M
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
darkmoon / # du -sh /var
457M /var
darkmoon / # tar -cf test.tar /var 2>/dev/null
darkmoon / # du -h test.tar
378M test.tar
darkmoon / # sync
darkmoon / # time gzip test.tar

real 0m31.378s
user 0m30.140s
sys 0m0.520s
darkmoon / # gunzip test.tar.gz
darkmoon / # sync
darkmoon / # time pigz test.tar

real 0m7.520s
user 0m28.790s
sys 0m0.520s

Демонстрация от xT


Тэги: lame
+ 14 -
Похожие Поделиться

shisoid 25.04.2011 14:32 #
+ 0 -
ещё есть
app-arch/lbzip2
только это мало где может пригодиться
т.к. это всего лишь компрессоры/декомпрессоры, а не архиваторы
потому упаковать например диру ими не получится без tar-а
а он однопоточный
есть многопоточный тар, но на практике ещё тормозней однопоточного
таки дела (
philosoft 25.04.2011 14:39 #
+ 3 -
Толк от них есть всё равно, даже через папйп есть заметный выигрыш. А многопоточные дисковые операции по определению не могут быстрыми на одном классическом физическом жёстком.
shisoid 25.04.2011 14:42 #
+ 0 -
я и не спорю - есть
только очень редко где применимы, точнее имеют смысл
philosoft 25.04.2011 14:45 #
+ 1 -
бекапчег?
shisoid 25.04.2011 14:49 #
+ -1 -
без дир?
зачётный бэкап :3
philosoft 25.04.2011 14:55 #
+ 2 -
1
tar -c / -X /exc_list | pigz --fast -p4 > "/media/backup/$(date).tar.gz"
shisoid 25.04.2011 15:18 #
+ 0 -
~20% быстрее
ладно - пусть будет :)
philosoft 25.04.2011 15:27 #
+ 0 -
:3
h31 30.04.2011 14:10 #
+ 1 -
Традиционные gzip/bzip/lzma/xz тоже требуют tar'а. А zip/rar/7zip не сохраняют права доступа, симлинки и т.д.
xT 25.04.2011 16:27 #
+ 0 -
Существуют многопоточные версии gzip и bzip2 — pigz и pbzip2 соответственно. Опции у этих утилит совпадают с опциями соответствующих однопоточных архиваторов, имеется опция -p для указания количества потоков упаковки.


в -p по дефолту выставляется количество ядер системы

добавь примерчик:
машинка Core2Duo E6550 @ 2.33GHz

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
[user@host9 test]# ls -lh
total 419M
-rw-r--r-- 1 530 dev 419M Feb 19 11:00 prod.sql

[user@host test]# time gzip prod.sql 

real       0m18.783s
user       0m18.133s
sys        0m0.452s

[user@host test]# time pigz prod.sql

real      0m11.257s
user      0m20.949s
sys       0m0.580s


в размерах получаемых файлов незначительная разница - ~1mb
philosoft 25.04.2011 17:30 #
+ 0 -
Странный маленький прирост. У меня разница в 3-4 раза по времени (проверял на stage4 генты и на /var)
philosoft 25.04.2011 17:59 #
+ 0 -
Ну да, конечно, я не учел количество ядер этого проца. ☹
xT 25.04.2011 18:29 #
+ 1 -
ага, centos 5.3 с медленным винтом в придачу : )

Смотреть видео онлайн

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн