среда, 3 февраля 2010 г.

Компиляция и мультиядерность

Для меня это оказалось в новинку. Достаточно в unix-консоли написать "make -j8" и компиляция пойдет на 4х ядрах процессора одновременно! Для двухядерного пишем "make -j4".

4 комментария:

Zuf комментирует...

Насполько я помню, цифра - количество запускаемых потоков (4 и 8). Но стандартный планировщик Linux (CFS) рассчитан на возможность масштабирования на большое количество процессоров... В общем, вроде как для того чтобы задействовать все процессоры (ядра) в настольной системе приходится удваивать количество одновременно выполняемых потоков. Даже на однопроцессорных системах рекомендуют использовать -j2.

В последнее время набирает популярность альтернативный планировщик - BFS:

http://ck.kolivas.org/patches/bfs/bfs-faq.txt
http://ck.kolivas.org/patches/bfs/

NightRadio комментирует...

Интересная штука этот BFS. На нем, оказывается, Android основан.

Zuf комментирует...

Это точно?

NightRadio комментирует...

С википедии: However, the BFS has been incorporated into the CyanogenMod ROM release of the Android operating system for mobile devices and has resulted in reported speed improvements. BFS is also being adopted by Google's "mainline" Android development repository.