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

Вниз

obj.items[i] и obj[i] - что быстрее? вопрос про default property   Найти похожие ветки 

 
Blind Guardian   (2007-10-30 14:37) [0]


type
 TC=class      
   public
     a:array of integer;
     function getItem(index:integer):integer;
     procedure putItem(index:integer;const Value:integer);
     property def[index:integer]:integer read getItem write puItem;default;
 end;

implementaion
 
function TC.getItem;
begin
 result:=a[Index];
end;

procedure TC.putItem;
begin
 a[Index]:=Value;
end;

var
 c:TC;


Что быстрее будет работать: чтоение из/запись в c.a[i] или c[i] ? Просто часто влом постоянно писать идентификатор массива, когда можно его опустить.


 
Джо ©   (2007-10-30 14:52) [1]

Обе синтаксические конструкции преобразуются компилятором к идентичному машинному коду.» Джо:» Ответ неверный, невнимательно прочитал вопрос.


 
Blind Guardian   (2007-10-30 15:46) [2]

спасибо


 
Однокамушкин   (2007-10-30 16:37) [3]


> Джо ©   (30.10.07 14:52) [1]
> Обе синтаксические конструкции преобразуются компилятором
> к идентичному машинному коду.

Как это к идентичному? c.a[i] - это прямое обращение к полю, а c[i] - к свойству, которое вызывает метод, который внутри себя обращается к этому полю... Первый вариант быстрее, но идеологически неправилен... Когда скорость критична, классы вообще лучше не использовать, так как их навороты способствуют удобству, но не скорости


 
Джо ©   (2007-10-30 16:42) [4]

> [3] Однокамушкин   (30.10.07 16:37)
> Как это к идентичному? c.a[i] - это прямое обращение к полю,
> а c[i] - к свойству, которое вызывает метод, который внутри
> себя обращается к этому полю... Первый вариант быстрее,
> но идеологически неправилен... Когда скорость критична,
> классы вообще лучше не использовать, так как их навороты
> способствуют удобству, но не скорости


http://unclejoe.ho.com.ua/img/cpu-window.png


 
Однокамушкин   (2007-10-30 17:17) [5]


> Джо ©   (30.10.07 16:42) [4]

Читайте внимательно вопрос: автор сравнивает c[i] не с c.def[i], а с c.a[i], а это уже совсем другой расклад


 
Сусл ©   (2007-10-31 01:22) [6]

практика - критерий истины.



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

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

Наверх




Память: 0.48 MB
Время: 0.022 c
2-1193773009
Виктор007
2007-10-30 22:36
2007.11.25
Как в дельфи сделать такое


15-1193335005
Ломброзо
2007-10-25 21:56
2007.11.25
Чем и как настроить роутинг


2-1194188537
Pacific
2007-11-04 18:02
2007.11.25
PosEx


2-1193740709
BATTLE_MAX
2007-10-30 13:38
2007.11.25
TListView без родителя


15-1193154777
@!!ex
2007-10-23 19:52
2007.11.25
Релиз Mad Dogs On The Road