powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Ламерский вопрос...
8 сообщений из 8, страница 1 из 1
Ламерский вопрос...
    #40050039
FIL23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как будет производительней код



Код: pascal
1.
2.
3.
r:=1+Integer(ListBox.Items.Objects[ListBoxTemplates.ItemIndex];
v:=1+Integer(ListBox.Items.Objects[ListBoxTemplates.ItemIndex];
d:=1+Integer(ListBox.Items.Objects[ListBoxTemplates.ItemIndex];



или

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
var
i:integer;

i:=Integer(ListBox.Items.Objects[ListBoxTemplates.ItemIndex];

r:=1+i;
v:=1+i;
d:=1+i;



И вообще как замерить такие вещи?
...
Рейтинг: 0 / 0
Ламерский вопрос...
    #40050041
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FIL23,

в первом случае это совершенно дурацкие повторы, от которых глаза в кучу.
...
Рейтинг: 0 / 0
Ламерский вопрос...
    #40050042
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FIL23,

Сделай цикл на N-миллионов повторов этих действий и добавь замер времени.

Самое простое - через GetTickCount
...
Рейтинг: 0 / 0
Ламерский вопрос...
    #40050043
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FIL23
Как будет производительней код
Что производительнее вызов шести геттеров или двух?
FIL23
И вообще как замерить такие вещи?
Как обычно - for + GetTickCount
...
Рейтинг: 0 / 0
Ламерский вопрос...
    #40050046
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FIL23
Как будет производительней код



Код: pascal
1.
2.
3.
r:=1+Integer(ListBox.Items.Objects[ListBoxTemplates.ItemIndex];
v:=1+Integer(ListBox.Items.Objects[ListBoxTemplates.ItemIndex];
d:=1+Integer(ListBox.Items.Objects[ListBoxTemplates.ItemIndex];




или

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
var
i:integer;

i:=Integer(ListBox.Items.Objects[ListBoxTemplates.ItemIndex];

r:=1+i;
v:=1+i;
d:=1+i;




Так:

Код: pascal
1.
2.
3.
r:=1+Integer(ListBox.Items.Objects[ListBoxTemplates.ItemIndex];
v:=r;
d:=r;
...
Рейтинг: 0 / 0
Ламерский вопрос...
    #40050051
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

Во втором варианте дурацких повторов тоже навалом.
...
Рейтинг: 0 / 0
Ламерский вопрос...
    #40050059
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat,

а я дальше первого не смотрел! :-)
...
Рейтинг: 0 / 0
Ламерский вопрос...
    #40050086
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FIL23
Как будет производительней код

...
И вообще как замерить такие вещи?

Вариант 1: Выполнить 10^6..10^9 раз, посмотреть на время выполнения.
Вариант 2: Учитывая, что хитрых циклов нет, поставить break-point, посмотреть в CPU Window: там будет ассемблерный код, созданный из кода на паскале, сравнить для 2х реализаций. На 0м уровне, можно считать, что чем больше ассемблерных команд, тем код выполняется дольше, потом учесть call'ы, и т.д.

Ну и в данном случае, IMHO, подходит вариант 0: больше сущностей - дольше выполняется :)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Ламерский вопрос...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]