Это связано с конвейером операций в процессоре. Вообще if-ы если не запретить как goto, то необходимо их использование сокращать по мере возможностей
Почему? А какую последовательность команд после ветвления загружать? Вот вся надежда нв предсказания, Intel всё-таки не Эльбрус, не имеет параллельных конвейеров
Другие языки программирования и технологии
Почему использование if в коде тормозит работу программы?
Ну так!
Если бы не было IF, не было бы и лишних операторов Ассемблера cmp, je, jne, jmp - значит комп бы не затратил на них лишние наносекунды )))
Если бы не было IF, не было бы и лишних операторов Ассемблера cmp, je, jne, jmp - значит комп бы не затратил на них лишние наносекунды )))
Саня Ажибeков
пруфы: https://youtu.be/BbOkf586700?t=173
Любой оператор будет тормозить выполнение
ты не поверишь, но каждое следующее действие в программе тормозит всю программу, потому как на выполнение этого действия требуется время...
но куда ты без IF дешешься?
без велвлений ты можешь лишь написать программу, которая проделывает исключительно один вариант последовательности операций.
нахрена такая программа нужна?
но куда ты без IF дешешься?
без велвлений ты можешь лишь написать программу, которая проделывает исключительно один вариант последовательности операций.
нахрена такая программа нужна?
Андрей .....
в java if вроде бы заменяется "?"
Ну как бы все операторы в той или иной мере тормозят работу программы! Представьте как быстро работает программа, которая ничего не делает!))) А по сути нужно разбираться о чем шла речь. Может подразумевалось что if в цикле притормаживает. Ну так да, как опять же и любой оператор. Поэтому для более быстрого выполнения кода, стараются все лишнее выкинуть из цикла. И если можно обойтись без условия в цикле, то и обходятся!
Каждый раз спотыкается конвейер.
Ну вот например. Подошел Добрыня к камню, написано направо пойдешь коня потеряешь, налево пойдешь, ..И так далее. Так и процессор. Задумывается куда дальше ветвить алгоритм.
Вместо ветвлений используй полиморфизм.
Похожие вопросы
- Почему нельзя настраивать массив в процессе работы программы? Pascal ABC ну и если так вообще везде?
- Можно ли более лаконично написать код этой маленькой программы ?
- Почему как бы не росла мощь железа, программы делают так чтобы все тормозило?
- heloword не запускается!? вопрос внутри!и код C+ builder! программа на С!
- Использование "графического планшета" (дигитайзера) для работы в AutoCAD.
- Почему не сжать двоичный код?
- Почему казалось бы простой код не работает в Турбо Паскале?
- Обьясните принцип работы программы (Assembler)
- Время работы программы в Паскаль
- как узнать скорость работы программы