Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Что эффективнее? / 11 сообщений из 11, страница 1 из 1
17.01.2011, 15:07
    #37062685
BTGS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что эффективнее?
Скажем, есть объект, имеющий некоторое свойство (допустим, точно известно, что оно не меняется), которое часто используется в коде. Что эффективнее: каждый раз получать это свойство через object1.property1 или же занести это значение в переменную и использовать в дальнейшем её?
...
Рейтинг: 0 / 0
17.01.2011, 15:14
    #37062711
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что эффективнее?
BTGSЧто эффективнее: каждый раз получать это свойство через object1.property1 или же занести это значение в переменную и использовать в дальнейшем её?
Х/з как у кого... У нас в Каше (экземпляр класса) уже скопирован в оперативку, т.ч. не факт что будет потеря при таком (object1.property1) обращении...
...
Рейтинг: 0 / 0
17.01.2011, 15:20
    #37062738
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что эффективнее?
BTGS,

эффективнее не изобретать паровоз, а просто писать нормальный код. Хороший компилятор сам все сделает.
...
Рейтинг: 0 / 0
17.01.2011, 15:24
    #37062753
BTGS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что эффективнее?
SiemarglBTGS,

эффективнее не изобретать паровоз, а просто писать нормальный код. Хороший компилятор сам все сделает.

то есть код, не использующий свойств? отлично
...
Рейтинг: 0 / 0
17.01.2011, 15:26
    #37062757
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что эффективнее?
BTGS , однако потестил...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
 n
 s o=##class(Tel.Abonent).%OpenId( 14 )
 s h=$h
 s test=o.Name
 d o.%Close()
 k o 
 f i= 1 : 1 : 100000000  i test
 w $p($h,",", 2 )-$p(h,",", 2 )
 q
Выполняется 3сек

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 n
 s o=##class(Tel.Abonent).%OpenId( 14 )
 s h=$h
 f i= 1 : 1 : 100000000  i o.Name
 d o.%Close()
 k o 
 w $p($h,",", 2 )-$p(h,",", 2 )
 q
Выполняется 29сек и сам экземпляр в это время открыт и заблокирован для других...
...
Рейтинг: 0 / 0
17.01.2011, 15:34
    #37062780
BTGS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что эффективнее?
krvsa,

26 сек. разницы! интересно. Но еще ведь, наверно, зависит от IDE, языка, класса и конкретного свойства
...
Рейтинг: 0 / 0
17.01.2011, 16:17
    #37062850
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что эффективнее?
BTGS , разумеется что зависит...
...
Рейтинг: 0 / 0
17.01.2011, 16:33
    #37062891
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что эффективнее?
krvsa, это явно проблемы эмуляции объектов в M =)
Или, возможно, интерпретации кода.

В приличных компиляторах такого нет, а вот за Яву с Шарпом зуб не дам.
...
Рейтинг: 0 / 0
17.01.2011, 21:44
    #37063364
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что эффективнее?
Siemarglэто явно проблемы эмуляции объектов в M =)
Мого быть, мого быть... (с) А.Райкин

Но вот у нас вот так.
...
Рейтинг: 0 / 0
17.01.2011, 21:47
    #37063368
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что эффективнее?
В любом случае у ТС есть пример как потестить свои возможности...
...
Рейтинг: 0 / 0
23.01.2011, 23:35
    #37074265
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что эффективнее?
Может, вообще сразу сделать указатель и работать с памятью?

Как вариант - сделать метод класса, возвращающий значение свойства. Естественно, внутри класса метод должен быть реализован наиболее низкоуровневым образом.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Что эффективнее? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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