IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Сравненин
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 75
Пол: Мужской

Репутация: -  0  +


Кто-нибудь может програмно показать отличия между inc(n) и n:=n+1 для целого n. Плз помогите!


--------------------
Ну, а почему бы в свободное время не позаниматься программированием?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Это все относится к вопросу чистоты эксперимента wink.gif
Вот мой код:
program Project1;
{$APPTYPE CONSOLE}
uses SysUtils, DateUtils;

var
tm,tm1 : TDateTime;
i,k: longint;

begin
k:=-2147483647;
{----- inc(k); -----}
tm1:= Now;
for i := -2147483647 to 2147483646 do inc(k);
tm:= Now;
writeln('#1: ',IntToStr(MilliSecondsBetween(tm,tm1)), #9, IntToStr(k));

k:=-2147483647;
{----- k:=k+1 -----}
tm1:= Now;
for i := -2147483647 to 2147483646 do k:=k+1;
tm:= Now;
writeln('#2: ',IntToStr(MilliSecondsBetween(tm,tm1)), #9, IntToStr(k));
end.
А вот результаты:
Код
С дебаг информацией в генерируемом коде:
#1: 6811        2147483646
#2: 7750        2147483646
Без дебага в коде и отключены всякие проверки:
#1: 4921        2147483646
#2: 5078        2147483646
Как видно эти операции абсолютно одинаково генеряться компилятором Delphi7. Разницу в 3% считаю несущественной.


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
}0pa   Сравненин   3.12.2006 5:39
klem4   Что значит программно показать отличие ? Эти опера…   3.12.2006 13:56
Malice   Если делаешь n=n+1 то используется сложение через …   3.12.2006 14:11
volvo   :no1: Для 16-битных компиляторов (проверялось на …   3.12.2006 14:39
}0pa   А с помощью Таймера по=моему можно проверить...? Д…   3.12.2006 23:21
volvo   Так как показано здесь: Улучшение кода (просто по…   3.12.2006 23:38
}0pa   Вот сделал: uses crt; const n = 25000; var tm, …   4.12.2006 4:42
Malice   У тебя k - longint, поэтому inc выглядит так: add…   4.12.2006 18:18
}0pa   Ну, уж очень хочется узнать :give_rose: :give_ros…   4.12.2006 17:59
}0pa   1.Malice, я просто с трудом понимаю, что значит тв…   5.12.2006 3:39
Malice   1.Malice, я просто с трудом понимаю, что значит т…   5.12.2006 13:32
hiv   Это все относится к вопросу чистоты эксперимента …   5.12.2006 15:48
volvo   :yes2: Как я и написал выше - 32 битные компилятор…   5.12.2006 16:05
NTL   Тогда,пожалуйста,объясните рез-ат моего тестера, к…   11.12.2006 22:40
Malice   Потому что у тебя m - longint, читай внимательнее,…   11.12.2006 23:55


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 7.05.2024 12:40
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name