Size: a a a

2020 November 01

K

Konstantin in pro.cxx
А во втором ключевое слово компилятор
источник

K

Konstantin in pro.cxx
Все от него зависит
источник

m

magras in pro.cxx
magras
Проблема в том, что после вычисления бакета пайплайн с высокой вероятностью будет сброшен, так как все дальнейшие вычисления будут зависеть от адреса бакета.
К слову о дезинформации, кажется я был не совсем прав и действительно если в вычислении хэша нет условных переходов пайплайн не может быть сброшен. Тем не менее из-за ошибки предсказания адреса бакета, процессор может встать дожидаясь пока данные подгрузят в кеш. Кажется это не так страшно, как сброс пайплайна, который происходит в случае неправильного предсказания ветки.
источник

m

magras in pro.cxx
Konstantin
А во втором ключевое слово компилятор
То есть вы продолжаете утверждать, что цепочка преобразований bool -> int (мы же с нулем сравниваем) -> bool может оказаться лучше простого использования bool который уже есть? Вы можете привести пример компилятора где это так?
источник

K

Konstantin in pro.cxx
Ну я признаюсь, не совсем корректно выразился
источник

K

Konstantin in pro.cxx
Преобразования зря написал
источник

K

Konstantin in pro.cxx
Это больше относится к > и <
источник

K

Konstantin in pro.cxx
К вот таким операторам
источник

K

Konstantin in pro.cxx
И при сравнении НЕ с нулем
источник

D

DigitaLobster in pro.cxx
Почему это нет?
источник

K

Konstantin in pro.cxx
Что почему нет?
источник

K

Konstantin in pro.cxx
Про это?
источник

D

DigitaLobster in pro.cxx
Да
источник

K

Konstantin in pro.cxx
Там я думаю просто компаратор чисто
источник

D

DigitaLobster in pro.cxx
Оно не через флаговый регистр определяет?
источник

CD

Constantine Drozdov in pro.cxx
Что значит нет? test и cmp арифметические команды
источник

K

Konstantin in pro.cxx
Constantine Drozdov
Что значит нет? test и cmp арифметические команды
Хорошо. Не считал их за арифметические
источник

D

DigitaLobster in pro.cxx
Ну так > и < тоже через них можно, по флагу знака
источник

K

Konstantin in pro.cxx
DigitaLobster
Ну так > и < тоже через них можно, по флагу знака
Если с нулём или если одно число положительное, а другое отрицательное, но для этого надо знать тип данных(у знаковый первый бит отвечает за знак, а у беззнаковых он является частью значения) и каким-то образом отделять знаковый бит(скорее всего битовыми операциями)
источник

K

Konstantin in pro.cxx
Так что там я думаю все-же больше, чем просто cmp
источник