Як орієнтувати ядро ​​(-Os проти -O2)


6

Мені здається логічним, що 64-бітове ядро, компілюючи його для оптимізації для розміру, може допомогти в цілому. (Мій дистрибутив для вибору використовує -O2) Він має переваги більше регістрів і пам'яті, і, можливо, менше вмісту кешу, ніж звичайний оптимізований код. У мене складено ядро ​​так, і воно здається відмінним. Однак моє запитання - як я можу це довести? Мені подобається використовувати Phoronix для порівняльних показників "реального світу", тому я вважаю за краще тестувати такі випадки. Що вибрати для тестування? Хтось ще має альтернативи? Заздалегідь дуже дякую.


Добре, якщо когось цікаво, вбудований 7zip бенчмарк показав, що -О повільніше, але я не відсторонено. Він був рівним чи вищим в інших.
NightwishFan

Відповіді:


3

Якщо ваше ядро ​​-Os, зібране ядром, "здається відмінним", я думаю, вам не варто байдуже його оцінювати, ось чому:

Проблема з орієнтирами завжди полягатиме у виборі виду навантажень, які ви протестуєте.
Навіть якщо Phoronix Test Suite добре підкреслює відмінності між різними версіями ядра, ви не можете використовувати його самостійно, щоб довести, що ваше ядро ​​працює краще для вашого власного навантаження, оскільки ви не вимагаєте від нього щоденних і тих же операцій.

У випадку, якщо ви все ще хочете спробувати це:
Можливо, ви можете спробувати порівняльний аналіз програм, які ви використовуєте більшу частину часу, або тих, хто потребує тривалого часу для завершення (запити в стилі 3D-рендерінга / компіляції / OLAP у формі кубів / веселкових таблиць. ..), щоб побачити, чи зможете ви отримати виграш.

Я особисто сумніваюся, що ви побачите будь-яку реальну (вимірювану, повторювану) швидкість роботи з -O на сучасному настільному процесорі (вбудований процесор може отримати певні показники). Трохи агресивніші оптимізації з -O2 ( джерельна стаття ) можуть бути цікавішими, ніж найменший розмір ядра -Os.

ця діаграма

Якщо вам потрібно більше інформації / хоче більш детально поговорити про оптимізацію gcc, ви можете перейти на канал #gentoo на freenode IRC або на форуми gentoo , але пам’ятайте: просто не згадуйте термін «багатший» ^^

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.