Въпроси, маркирани с „предсказание за клон“

В компютърна архитектура, предсказателят на разклонението е цифрова верига, която се опитва да познае кой клон (например структурата if-then-else) ще отиде, преди да е известно със сигурност. Целта на предсказанието на клон е да се подобри потока в тръбопровода за инструкции. Предсказващите индустрията играят решаваща роля за постигане на висока производителност в много модерни микропроцесорни архитектури, като x86.
26
отговор

Защо е по-бързо да се обработва сортиран масив от несортиран масив?

Тук е част от C + + код, който изглежда много странно. По някаква странна причина, сортирането на данните по чудо прави кода почти шест пъти по-бърз. #include <algorithm> #include <ctime> #include <mainstream> int main () {// Ge ...
Задайте на 27 юни 2012 г. в 16:51 часа
5
отговор

Защо е (a * b! = 0) по-бърз от (a! = 0 b! = 0) в Java?

Аз пиша някакъв код в Java, където в даден момент потокът на програмата се определя от това дали двете променливи int "a" и "b" са ненулеви (забележка: a и b никога не са отрицателни и никога не трябва да бъдат в рамките на цялото число преливане на номера ...
набор 21 февруари '16 в 4:51
10
отговор

Какъв е ефектът от подреждането, ако ... друго, ако твърденията са в вероятност?

По-специално, ако имам поредица от ако ... иначе, ако изявления, и аз някак си знам предварително относителната вероятност, че всеки оператор ще оцени на вярно, колко разликата в runtime го сортирате по реда на вероятността? ...
19 октомври. '17 в 18:17
7
отговор

Има ли подсказка за компилатора за gcc, за да направи предсказанието за клон винаги да върви по определен начин?

За архитектурата на Intel, има ли начин да инструктирате компилатора на GCC да генерира код, който винаги налага предсказание на клон по определен начин в моя код? Поддържа ли този хардуер Intel? Ами другите компилатори или ап ...
настроен на 08.05.15 в 21:54
5
отговор

Кога трябва да се предпочитат конците пред традиционните цикли за по-добра производителност? Дали темите се възползват от предсказанието на клон?

Току-що прочетох за Branch-Prediction и исках да опитам как работи с нишки от Java 8. Въпреки това, изпълнението с Streams винаги се оказва по-лошо от традиционните цикли. int totalSize = 32768; int filterValue = 1280; int [] array = new in ...
на 22 декември. '16 в 11:26
5
отговор

Преносими съвети за прогнозиране на индустрията

Има ли някакъв преносим начин за прогнозиране на разклоненията? Помислете за следния пример: if (unlikely_condition) {/ * ..A .. * /} else {/ * ..B .. * /} не е така: if (! Unlikely_condition) {/ * ..B .. * /} друго ...
на 13 септември '10 в 20:35
8
отговор

Програмиране с клонове

Прочетох, че грешното прогнозиране на индустрията може да бъде горещо затруднение за приложение. Както виждам, хората често показват асемблерен код, който разкрива този проблем и заявява, че програмистите обикновено могат да предскажат къде е клонът ...
попита 15 септември. '15 в 11:48
2
отговор

Вътрешното сливане без клонове е по-бавно от вътрешното сливане с клон

Наскоро зададох въпрос в прегледа на кода, за да видя алгоритъм за сортиране, наречен QuickMergeSort. Няма да навлизам в подробности, но в един момент алгоритъмът извършва вътрешно сливане: вместо да използва допълнителна памет за съхраняване ...
на 13 декември. '16 в 22:53
5
отговор

Защо тази C ++ функция произвежда толкова много неправилни прогнози за индустрията?

Нека А е масив, съдържащ нечетен брой нули и единици. Ако n е размерът на A, тогава A е конструиран по такъв начин, че първите ceil (n / 2) елементи са 0, а останалите елементи са 1. Така че, ако n = 9, A ще изглежда така: 0,0,0,0,0, Целта е ...
попита 15 септември. '16 в 17:44
2
отговор

GCC получава ли неоптимален код за прогнозиране на статичен клон?

От моя университетски курс, чух, че по споразумение е по-добре да се постави по-вероятно условие в ако, а не другаде, което може да помогне на предсказател на статичен клон. Например: if (check_collision (player, enemy)) {// е много малко вероятно да е вярно ...
26 януари '17 в 21:49
4
отговор

Прогнози за промишлеността и нула Сплит

Написах код, който изглеждаше по следния начин: if (знаменател == 0) {return false; } int result = стойност / знаменател; ... когато мислех за поведението на разклонението в CPU. medican.info.site/questions/1 / ... Този отговор заявява, че процесорът ще се опита ...
настройте 03 август. '15 в 11:22
5
отговор

Колко често се предвижда разклонението на текущите процесори?

Поради огромното въздействие върху производителността, никога не се чудя дали настоящият ми десктоп има процесор за прогнози на клонове. Разбира се Но какво да кажем за различните предложения на ARM? Телефонът на iPhone или Android има прогноза за ...
на 23 ноември. '11 в 2:31 ч
3
отговор

"==" в сортиран масив не е по-бърз от несортиран масив?

Забележка: Мисля, че предполагаемият дублиращ се въпрос е свързан главно с "<" и ">" сравнение, но не и с сравнение "==" и следователно не отговаря на въпроса ми за ефективността на оператора "==". За дълго време, аз вярвах, че "преработка" ...
на 18 август '15 в 6:51
4
отговор

X86-64 Оптимизация на експлоатационните характеристики - нивелиране и прогнозиране на разклоняване

Im в момента кодира високо оптимизирани версии на някои стандартни библиотечни функции на C99, като strlen (), memset () и т.н. Досега успях да постигна отлични резултати ...
комплект 08 авг. '13 в 0:18