Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.03;
Скачать: CL | DM;

Вниз

Int64 vs Integer   Найти похожие ветки 

 
HydraMarat   (2004-09-14 00:07) [0]

Вопрос прост и звучит так: насколько Int64 медленее Integer? В справке я ничего не нашел толком, типа, есть такой тип и все тут. Насколько велики потери при использовании Int64, стоит ли разделять функции возвращающие Integer и Int64?

Спасибо.


 
Palladin ©   (2004-09-14 00:33) [1]


> насколько Int64 медленее Integer?

смотря какие операции сравнивать...


> стоит ли разделять функции возвращающие Integer и Int64?

Ну а стоит ли разделять функции возвращающие byte и word? или word и integer? Функции возвращающие результаты разных типов всегда стоит различать!

Int64 это 64битное знаковое причем Fundamental то есть какое оно есть такое и останется в следующих версиях Delphi, а вот Integer это 32битное в 32ух разрядном компиляторе Object Pascal.. если будет 64ех битный компилятор, то Integer соответственно станет 64 битным... не факт, вдруг не станет, но по логике вещей и выводов которые можно сделать на основе заявлений Borland должен...


 
Ihor Osov'yak ©   (2004-09-14 02:07) [2]

2 [1] Palladin ©   (14.09.04 00:33)
> если будет 64ех битный компилятор,

а бог его знает.. как бы делфи все же к дот-нет примкнуло. А там бы вроде говорят, что вас не должно волновать - 32 бита, 64 бита..
пока int в .net как бы 32 бита.. а вот с long вообще сказка - и в FCL, и в c# - 64 бита, тогда же как в управляемом c++ - 32 бита...


 
Slym   (2004-09-14 05:45) [3]

с Int64 операции накладнее...
если Integer результат вернуть можно в EAX то для возврата результата Int64 требуется уже 2 регистра EAX и EDX...
и все операции пересылки считай в 2 раза дольше... и судя повсему вычисления последовательные по 32бита: что тоже в свою очередь дольше... + операции expand EAX на EAX EDX...


 
Defunct ©   (2004-09-14 05:48) [4]

> насколько Int64 медленее Integer?

как минимум в два раза для современных процессоров.


 
Alx2 ©   (2004-09-14 07:30) [5]

>Defunct ©   (14.09.04 05:48) [4]
>как минимум в два раза для современных процессоров.

Неправда.


 
Defunct ©   (2004-09-14 09:02) [6]

Alx2 ©   (14.09.04 07:30) [5]
> Неправда.


Докажите обратное для P4/celeron/Athlon/duron.


 
Alx2 ©   (2004-09-14 09:31) [7]

>Defunct ©   (14.09.04 09:02) [6]
Для P4 прямо сейчас не докажу - сижу за PIII.
Для P3 (в комментарииях тайминг, замеренный с помощью VTune):


procedure TForm1.FormShow(Sender: TObject);
Var k : integer;
    m : Int64;
begin
  k := 1;
  repeat
   inc(k);            // 1317
   until k=1000000000;// 6569
  m := 1;
  repeat
   inc(m);            // 2237
  until m=1000000000; // 7828
  close;
end;


 
HydraMarat   (2004-09-15 00:34) [8]

Т.е. получается что не так уж то и накладно, тем более, если проц серьезный, верно? Вообщем, Всем Спасибо, примерную картину я составил. "Далее, по ситуации..."



Страницы: 1 вся ветка

Текущий архив: 2004.10.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.032 c
14-1094973988
SPeller
2004-09-12 11:26
2004.10.03
Проблемы с сетью


1-1095309628
avch
2004-09-16 08:40
2004.10.03
Работа с Excel через Variant


1-1095148299
resut
2004-09-14 11:51
2004.10.03
Не хватает ресурсов


3-1094218103
Muchacho
2004-09-03 17:28
2004.10.03
Учебник по InterBase


4-1093116755
dRake
2004-08-21 23:32
2004.10.03
Редактор ресурсов