Что пока комп не прогреется каждый иф миспредикшн 50%?
Ну если у тебя скажем каждая третья команда иф то ты это почувствуешь. А если процентов 5% то не заметишь. Опять таки если у тебя иф настоящий (то есть каждая ветка выполняется хотя бы раз) то кажется не сфейлиться ни разу нереально
Ну если у тебя скажем каждая третья команда иф то ты это почувствуешь. А если процентов 5% то не заметишь. Опять таки если у тебя иф настоящий (то есть каждая ветка выполняется хотя бы раз) то кажется не сфейлиться ни разу нереально
Ты говоришь будто миспредикшн стоит как одна операция
Задача хеша - дать равномерное распределение в диапазоне. Это означает, что у процессора практически нет шансов угадать значение хэша и куда идти после его вычисления. Грубо говоря, если в таблице два бакета, идеальный хеш будет раскидывать доступ по ним как раз в соотношении 50 на 50.
Но а где ветвление то собственно? Вот если по порядку передали елемент на вставку таблица вычислила хеш пришла в нужный бакет (пускай у нас открытая адресация) прошлась по бакету нашла вставила или не вставила если есть или вызвала тотальный рехеш, не понимаю где отрабытывает бренч предиктор
Но а где ветвление то собственно? Вот если по порядку передали елемент на вставку таблица вычислила хеш пришла в нужный бакет (пускай у нас открытая адресация) прошлась по бакету нашла вставила или не вставила если есть или вызвала тотальный рехеш, не понимаю где отрабытывает бренч предиктор
смотри, кого можно почитать на этот счет - agner fog