Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.038 c
14-1095319510
VID
2004-09-16 11:25
2004.10.03
Зацените, плиз...


6-1091039930
dms_main
2004-07-28 22:38
2004.10.03
html encoding


4-1093321751
Baloo
2004-08-24 08:29
2004.10.03
Координаты каретки в чужом приложении


3-1094025994
kvit
2004-09-01 12:06
2004.10.03
Транзакция?


14-1095159096
Лиса
2004-09-14 14:51
2004.10.03
Как поздравить-порадовать сисадмина? Скоро у него День рождения!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский