Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2010, 11:53   #1
Rusl92
Форумчанин
 
Аватар для Rusl92
 
Регистрация: 30.03.2008
Сообщений: 392
По умолчанию Почему inc работает быстрее обычного сложения

Не подскажите, почему если написать
inc(i,2) и i:=i+2
inc сработает быстрее?

=)
Программирование - это великое искусство... Такое же как например и живопись!
Rusl92 вне форума Ответить с цитированием
Старый 25.04.2010, 12:23   #2
MadReason
Ищу работу
Форумчанин
 
Аватар для MadReason
 
Регистрация: 16.02.2007
Сообщений: 269
По умолчанию

сама организация микропрограмм разная, у inc она меньше.
add 3 байта
inc 1 байт

причем спорный вопрос что на всех компиляторах и всех процессорах inc гораздо быстрее, все зависит от конкретной архитектуры.
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
MadReason вне форума Ответить с цитированием
Старый 25.04.2010, 13:40   #3
mifomen
Help, если смогу!
Пользователь
 
Регистрация: 14.09.2009
Сообщений: 55
По умолчанию

Мне объясняли тем, что инк это процедура, и процедуры, быстрее выполняются.
Я помог =Нажми, НА ВЕСЫ.
Почему форум не поддерживает spoiler & spoiler2 ?
Если я вам помог, не будьте скупым R409586472993
mifomen вне форума Ответить с цитированием
Старый 25.04.2010, 21:10   #4
Rusl92
Форумчанин
 
Аватар для Rusl92
 
Регистрация: 30.03.2008
Сообщений: 392
По умолчанию

кто это тебе такое говорил интересно)
MadReason - спасибо
Программирование - это великое искусство... Такое же как например и живопись!
Rusl92 вне форума Ответить с цитированием
Старый 25.04.2010, 21:58   #5
Impuls1989
Форумчанин
 
Аватар для Impuls1989
 
Регистрация: 16.08.2008
Сообщений: 276
По умолчанию

Код:
ЯВУ        Assembler
inc(i)      inc i
__________________
i:=i+1    mov ax, i
             add ax, 1
             mov i, ax
Если я ничего не путаю - то вот как-то так
Искусственный интеллект - фигня по сравнению с естественной глупостью
Impuls1989 вне форума Ответить с цитированием
Старый 25.04.2010, 22:21   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Вообще-то, это зависит от компилятора... Он и и=и+1 может в инкремент превратить.
p51x вне форума Ответить с цитированием
Старый 25.04.2010, 22:34   #7
Impuls1989
Форумчанин
 
Аватар для Impuls1989
 
Регистрация: 16.08.2008
Сообщений: 276
По умолчанию

Если компилятор модный, то скорее всего он так и сделает. Но всегда существует вероятность того, что компилятор не совсем любит оптимизировать код)))
Искусственный интеллект - фигня по сравнению с естественной глупостью
Impuls1989 вне форума Ответить с цитированием
Старый 25.04.2010, 22:49   #8
mifomen
Help, если смогу!
Пользователь
 
Регистрация: 14.09.2009
Сообщений: 55
По умолчанию

Цитата:
Сообщение от Rusl92 Посмотреть сообщение
кто это тебе такое говорил интересно)
MadReason - спасибо
Лекции надо слушать, а не по улицам гулять.
Я помог =Нажми, НА ВЕСЫ.
Почему форум не поддерживает spoiler & spoiler2 ?
Если я вам помог, не будьте скупым R409586472993
mifomen вне форума Ответить с цитированием
Старый 26.04.2010, 11:29   #9
Rusl92
Форумчанин
 
Аватар для Rusl92
 
Регистрация: 30.03.2008
Сообщений: 392
По умолчанию

ухахах
"Лекции надо слушать, а не по улицам гулять"
ну ты отмочил)
ты на лекциях такую инфу получаешь
"Мне объясняли тем, что инк это процедура, и процедуры, быстрее выполняются."
грустно(
Программирование - это великое искусство... Такое же как например и живопись!
Rusl92 вне форума Ответить с цитированием
Старый 26.04.2010, 11:58   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
MadReason
Однако в Делфи это не так:

Чесно говоря я не верю что в паскале INC выполняется одной командой inc [операнд] помоему там так-же

P.S. Вот посмотрел ради интереса
В паскале INC() выполняется так как и в Делфи командой add если операнд больше 2.
Изображения
Тип файла: jpg Безымянный.JPG (12.9 Кб, 98 просмотров)
Тип файла: jpg Безымянный2.JPG (79.9 Кб, 68 просмотров)
I'm learning to live...

Последний раз редактировалось Stilet; 26.04.2010 в 12:15.
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему двоеточие и тире отображается выше обычного? Сергей Орлов Microsoft Office Word 1 10.07.2009 00:53
Seagate - ST3320620AS 320Gb. работает в режиме SATA1 и может работать в двое быстрее, как настроить? MacTiger Компьютерное железо 1 21.04.2009 04:57
Почему не работает тег align=right?valign работает а align нет! aviv HTML и CSS 5 21.01.2009 17:46
почему не работает domovoi Общие вопросы Delphi 1 15.10.2008 18:42