Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

obj.items[i] и obj[i] - что быстрее? вопрос про default property [D7, XP]


Blind Guardian ©   (2007-10-30 14:37:00) 


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-31 01:22:00) [1]

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


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


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

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


Джо   (2007-10-30 16:42:00) [3]

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


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


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


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

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


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

спасибо


Джо   (2007-10-30 14:52:00) [6]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо