Пытанні з тэгам 'branch-prediction'

У кампутарнай архітэктуры прадказальнік галінавання ўяўляе сабой лічбавую схему, якая спрабуе адгадаць, да якой галінцы (напрыклад, структура if-then-else) будзе ісці, перш чым гэта будзе вядома напэўна. Мэтай прагназавання галін з'яўляецца паляпшэнне патоку ў канвееры каманд. Галіновыя прэдыктар гуляюць вырашальную ролю ў дасягненні высокай эфектыўнасці ў многіх сучасных канвеерных мікрапрацэсарных архітэктурах, такіх як x86.
26
адказаў

Чаму хутчэй апрацоўваць адсартаваны масіў, чым малокомплектных масіў?

Вось кавалак кода на З ++, які здаецца вельмі своеасаблівым. Па нейкай дзіўнай прычыне сартаванне дадзеных цудам робіць код амаль у шэсць разоў хутчэй. #include <algorithm> #include <ctime> #include <iostream> int main () {// Ge ...
зададзены 27 чэрвеня '12 у 16:51
5
адказаў

Чаму (a * b! = 0) хутчэй, чым (a! = 0 b! = 0) у Java?

Я пішу нейкі код на Java, дзе ў нейкі момант паток праграмы вызначаецца тым, ці з'яўляюцца дзве зменныя int "a" і "b" ненулявога (заўвага: a і b ніколі не адмоўны і ніколі не павінен знаходзіцца ў межах цэлых лікаў перапоўненых ...
зададзены 21 февр. '16 у 4:51
10
адказаў

Які эфект упарадкавання, калі ... else, калі зацвярджэння па верагоднасці?

У прыватнасці, калі ў мяне ёсць шэраг аператараў if ... else if, і я неяк загадзя ведаю адносную верагоднасць таго, што кожны аператар будзе ацэньваць да true, наколькі розніца ў часе выканання робіць гэта сартаваць іх у парадку верагоднасці? ...
зададзены 19 каст. '17 у 18:17
7
адказаў

Ці ёсць падказка кампілятара для GCC, каб прымусіць прадказанне галін заўсёды ісці пэўным чынам?

Для архітэктуры Intel ці існуе спосаб даць указанне кампілятара GCC генераваць код, які заўсёды фарсіруе прадказанне галінаванняў пэўным чынам у маім кодзе? Ці падтрымлівае гэта абсталяванне Intel? Як наконт іншых кампілятараў або ап ...
зададзены 08 мая '15 у 21:54
7
адказаў
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 .. * /} else ...
зададзены 13 сент. '10 у 20:35
8
адказаў

Праграмаванне з улікам галінак

Я чытаю, што няправільнае прадказанне галіны можа быць гарачым вузкім месцам для працы прыкладання. Як я бачу, людзі часта паказваюць, зьмяняй код, які раскрывае гэтую праблему, і заяўляе, што праграмісты звычайна могуць прадказаць, дзе галінка мо ...
зададзены 15 сент. '15 у 11:48
2
адказаў

Ўнутранае зліццё без галін павольней, чым унутранае зліццё з галіной

Нядаўна я спытаў пытанне ў аглядзе кода, каб праглядзець алгарытм сартавання з імем QuickMergeSort. Я не буду ўдавацца ў падрабязнасці, але ў нейкі момант алгарытм выконвае ўнутраны зліццё: замест выкарыстання дадатковай памяці для захоўванне ...
зададзены 13 снеж. '16 а 22:53
5
адказаў

Чаму гэтая функцыя З ++ выдае так шмат няслушных прагнозаў галіны?

Хай A - масіў, які змяшчае няцотны лік нулёў і адзінак. Калі n - памер A, то A пабудаваны такім чынам, што першыя ceil (n / 2) элементы 0, а астатнія элементы 1. Дык вось, калі n = 9, A будзе выглядаць так: 0,0,0,0,0, 1,1,1,1 Мэта складаецца ў тым, ...
зададзены 15 сент. '16 у 17:44
2
адказаў

Ці атрымлівае GCC субоптимальный код для прадказанні статычнай галінкі?

З майго універсітэцкага курсу я чуў, што па дамове лепш размясціць больш верагоднае ўмова ў if, а не ў else, што можа дапамагчы прадказальніка статычнай галінкі. Напрыклад: if (check_collision (player, enemy)) {// very unlikely to be true ...
зададзены 26 студз. '17 у 21:49
4
адказаў

Галіновае прадказанне і падзел на нуль

Я пісаў код, які выглядаў наступным чынам: if (denominator == 0) {return false; } Int result = value / denominator; ... калі я думаў пра галінаванымі паводзінах у CPU. lifetop.site.site/questions/1 / ... У гэтым адказе гаворыцца, што ЦП будзе спрабаваць п ...
зададзены 03 жнів. '15 у 11:22
5
адказаў

Наколькі распаўсюджана прадказанне галінавання на бягучых працэсарах?

З-за вялізнага ўплыву на прадукцыйнасць я ніколі не задаюся пытаннем, ці мае мой бягучы працоўны стол працэсар з прадказаннем галінаванняў. Вядома. Але як наконт розных прапаноў ARM? У iPhone або Android-тэлефонаў ёсць прадказанне аб ў ...
зададзены 23 лістапада. '11 у 14:31
3
адказаў

Ці з'яўляецца "==" ў адсартаваным масіве не хутчэй, чым малокомплектных масіў?

Заўвага: меркаваны дублюючы пытанне, я думаю, у асноўным звязаны з "<" і ">" параўнанне, але не параўнанне "==" і, такім чынам, не адказвае на маё пытанне аб эфектыўнасці аператара "==". Доўгі час я лічыў, што "апрацоўка" ...
зададзены 18 жнів. '15 у 6:51
4
адказаў

Аптымізацыя прадукцыйнасці зборкі x86-64 - Выраўноўванне і прагназаванне галінаванняў

Im ў цяперашні час кадуе высока аптымізаваныя версіі некаторых стандартных функцый бібліятэкі бібліятэкі C99, такіх як strlen (), memset () і г.д., выкарыстоўваючы зборку x86-64 з інструкцыямі SSE-2. Пакуль мне ўдалося дамагчыся выдатных вынікаў ...
зададзены 08 жнів. '13 у 0:18