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

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

Скорость [D7, XP]


webpauk ©   (2008-12-12 16:09:00) 

как просчитать что быстрее работает: обращение к свойству или переменная.

1.
begin
  ShowMessage(ListView1.Selected.Caption);
  ShowMessage(ListView1.Selected.Caption);
  ShowMessage(ListView1.Selected.Caption);
  ShowMessage(ListView1.Selected.Caption);
end;


2.
var
  S: String;
begin
  ShowMessage(S);
  ShowMessage(S);
  ShowMessage(S);
  ShowMessage(S);
end;


Anatoly Podgoretsky   (2008-12-12 16:48:00) [1]

> webpauk  (12.12.2008 16:09:00)  [0]

А как оформлено свойство?


clickmaker   (2008-12-12 16:45:00) [2]

> есть более точная функция?

QueryPerformanceCounter / QueryPerformanceFrequency

но смысл мерять? достаточно посмотреть реализацию свойства


Сергей М.   (2008-12-12 16:44:00) [3]


> webpauk


Время работы самой функции ShowMessage астрономическивелико по сравнению с тем временем, которое тебе не дает покоя)

Ибо функция ShowMessage ждет ответа юзера, который в это время вполне мог, скажем, отлучиться по большой нужде)


webpauk   (2008-12-12 16:37:00) [4]


> Palladin ©   (12.12.08 16:23) [4]

милисекунды - это много.
есть более точная функция?


clickmaker   (2008-12-12 16:26:00) [5]

> [3] webpauk ©   (12.12.08 16:18)

обращение к переменной в любом случае не медленнее.


Palladin   (2008-12-12 16:23:00) [6]

GetTickCount + F1


webpauk   (2008-12-12 16:18:00) [7]


> Palladin ©   (12.12.08 16:14) [2]

понятно.
хотелось бы проверить...

> как просчитатьчто быстрее работает


Palladin   (2008-12-12 16:14:00) [8]

Смотря что делает обращение к свойству. В данном случае, при обращении к Caption, вызывается функция GetText. Значит к переменной - быстрее.


webpauk   (2008-12-12 16:10:00) [9]

Sorry.
2.
var
 S: String;
begin
 S:=ListView1.Selected.Caption;
 ShowMessage(S);
 ShowMessage(S);
 ShowMessage(S);
 ShowMessage(S);
end;


Наверх

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