LINUX.ORG.RU

Оптимизация софтин под 4х'ядерник


0

0

bz2, 7z, другие процессы. Все пользуют проц лишь процентов на 25 и понял, что с этим надо что-то делать. Иногда, нудно наблюдать, как твой проц используется на одну четверть.

полистал ./configure help у этих проектов - ничего про многоядерность не сказано и вопрос: может, я не там смотрю?

Стоит ArchLinux. Да, это и не важно. Вот, j5 опцию, когда собираешь бинарник, найти было не сложно по гуглу, а реальную работу софтин, что бы они пользовали проц, куда сложнее.

Куда копать?


У 7z есть многопоточность, в man, живо!

gotf
()

pbzip2 и bzip2smp , один умеет работать с файлами, но не умеет с потоком, второй - наоборот

7z умеет работать на 2 ядрах, lzma/xz пока только на 1

вместо gzip - pigz

в остальном распаралеллить процессы не особенно удастся, если это не было явным образом реализовано разработчиками программы

Sylvia ★★★★★
()

>что бы они пользовали проц, куда сложнее.
хотя микрософт рассказывает, что компутер это просто, на самом деле это не так. многопроцессорность тому явный пример.

могу посоветовать запустить сразу 4 архиватора на 4 разных файлах и тогда 4 процесса должны раскидаться по ядрам. Можешь даже скрипт написать, чтобы значит всё получилось. Но только неясно как разделить группу файлов на 4 части равных по работе и как значит правильно словарь высчитать

dimon555 ★★★★★
()

Эта четверть процессора что-то ущемляет? Еще наверно и овер четырех гигабайт оперативной памяти, дада.

tensai_cirno ★★★★★
()
Ответ на: комментарий от ESTAF

метки надо поставить. чтоб, темы не плодились и искать было проще.

linux
4 ядра
четыре ядра
четырехъядерный
компиляция
оптимизация
сборка
использование
make.conf
загрузка

ESTAF ★★★
()
Ответ на: комментарий от ESTAF

Наскреб чуток:

http://en.gentoo-wiki.com/wiki/Talk:Safe_Cflags/AMD

CFLAGS и mtune нужно приводить к ключу amdfam10

но, это ничего не даст))

в одних софтинках нужно еще и ./configure ключи причесывать под это дело. в других - копаться в опциях самих программ.

софт разношерстный и сам по себе он не заведется под мультиядерность на всю прыть.

ESTAF ★★★
()
Ответ на: комментарий от ESTAF

пример:

gcc -fpic -fPIC -Wall -Winline -march=amdfam10 -mtune=amdfam10 -O2 -pipe -g -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -c compress.c
gcc -fpic -fPIC -Wall -Winline -march=amdfam10 -mtune=amdfam10 -O2 -pipe -g -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -c decompress.c
gcc -fpic -fPIC -Wall -Winline -march=amdfam10 -mtune=amdfam10 -O2 -pipe -g -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -c bzlib.c
gcc -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.4 blocksort.o huffman.o crctable.o randtable.o compress.o decompress.o bzlib.o
gcc -fpic -fPIC -Wall -Winline -march=amdfam10 -mtune=amdfam10 -O2 -pipe -g -D_FILE_OFFSET_BITS=64 -D_FILE_OFFSET_BITS=64 -o bzip2-shared bzip2.c libbz2.so.1.0.4

ровным счетом ничего не даст.

ESTAF ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.