в чем разница ?
спасибо
inc(m,..) или m := m + .., в чем разница ? |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
inc(m,..) или m := m + .., в чем разница ? |
renesko1 |
Сообщение
#1
|
поиск Группа: Пользователи Сообщений: 347 Пол: Мужской Реальное имя: nir Репутация: 2 |
в чем разница ?
спасибо -------------------- typedef void Śūnyatā ;
|
Bard |
Сообщение
#2
|
Учиться, учиться еще раз учиться Группа: Пользователи Сообщений: 158 Пол: Мужской Реальное имя: Яшар Репутация: 3 |
эта тема мне очень знакома ... когда мы готовились к олимпиаде в нашей команде возник вопрос о разницах этих функций . ну мы долго копались и в конце обнаружили что i:=i+1; работает быстрее чем inc(i); на FP 2.2.0. по моему это главное различие
-------------------- Чтобы поразить цель важна не точность, а смелость
Шарль Луи Монтескё |
volvo |
Сообщение
#3
|
Гость |
в конце обнаружили что i:=i+1; работает быстрее чем inc(i); на FP 2.2.0. А теперь - внимание, вопрос... Имеем программу: var i: integer;и ее трансляцию на ассемблер (FPC 2.2.0 - Win32, Options -> Compiler -> Assembler -> List Source, и смотрим s-файл): # [6] inc(i);Как может inc работать медленнее при идентичных кодах? То, что на TP 7 Inc дает прирост в скорости более 20% - было, по-моему тестовые программы до сих пор лежат в FAQ-е. |
andriano |
Сообщение
#4
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Как может inc работать медленнее при идентичных кодах? В данном конкретном случае "идентичность" кода объясняется опцией компилятора делать проверку на переполнение.В принципе, современный компилятор должен при отключенной проверке оба варианта транслировать в inc mem. Но как ведет себя FPC, не проверял. Борлланд, очевидно, генерировал разный код, из-за чего и была введена псевдофункция inc(). |
Текстовая версия | 10.05.2024 19:15 |