Форум: "Основная";
Текущий архив: 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