Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / статические или не статические члены? / 19 сообщений из 19, страница 1 из 1
19.07.2006, 19:19
    #33865219
ignaci_v
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
статические или не статические члены?
Возник такой вопрс:
Что работает быстрее статические или не статические методы классов? И можна ли как нибуть провести експеримент на данную тему?
Речь идет об истользовании статики или не статики при реализации логики на стороне веб-сервера (веб-сервисов). Что предпочтительней использовать при реализации логики на сервере, статические методи или нет?
Делов том, что статика во многом ограничиват ОО дизайн приложения и хотелось бы знать, при стремлении повысить производительность стоит ли оттдавать предпочтение использованию статических методов, или всетаки лучше в первую очередь следить за правельностью архитектуры?
...
Рейтинг: 0 / 0
19.07.2006, 19:27
    #33865234
Лиман Артём
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
статические или не статические члены?
на производительность это абсолютно никак не повлияет.
Архитектура прежде всего :)
_______________________________________________________
Never ask users what they want, or they'll tell you.
...
Рейтинг: 0 / 0
19.07.2006, 19:42
    #33865250
ignaci_v
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
статические или не статические члены?
Здравствуйте, Лиман Артём, Вы писали:

ЛА>на производительность это абсолютно никак не повлияет.
ЛА>Архитектура прежде всего :)
ЛА>_______________________________________________________
ЛА>Never ask users what they want, or they'll tell you.
ЛА>

ЛА>
данное сообщение получено с www.gotdotnet.ru
ЛА>ссылка на оригинальное сообщение


А что вы скажеье на http://rsdn.ru/Forum/?mid=122503 ? Есть люди которые думают иначе? Как доказать правоту ваших слов? Я с вами абсолютно согласен, но одними аргументами не отмахаться :), надо как то доказывать? У вас нету никаких соображений на счет того как это протестить?
...
Рейтинг: 0 / 0
19.07.2006, 19:46
    #33865257
Lloyd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
статические или не статические члены?
Здравствуйте, ignaci_v, Вы писали:

_>Возник такой вопрс:
_>Что работает быстрее статические или не статические методы классов? И можна ли как нибуть провести експеримент на данную тему?
_>Речь идет об истользовании статики или не статики при реализации логики на стороне веб-сервера (веб-сервисов). Что предпочтительней использовать при реализации логики на сервере, статические методи или нет?
_>Делов том, что статика во многом ограничиват ОО дизайн приложения и хотелось бы знать, при стремлении повысить производительность стоит ли оттдавать предпочтение использованию статических методов, или всетаки лучше в первую очередь следить за правельностью архитектуры?

погугли по слову premature optimization. это как раз твой случай. ;)
...
Рейтинг: 0 / 0
19.07.2006, 20:02
    #33865273
Лиман Артём
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
статические или не статические члены?
ignaci_vА что вы скажеье на http://rsdn.ru/Forum/?mid=122503 ? Есть люди которые думают иначе? Как доказать правоту ваших слов? Я с вами абсолютно согласен, но одними аргументами не отмахаться :), надо как то доказывать? У вас нету никаких соображений на счет того как это протестить?
ну, насколько я вижу, там разговор идет о вызове виртуального/невертуального метода. А это совсем другой случай. А те 20мс разницы между "обычный метод" и "статический" - это можна и на погрешность спихнуть. Так что не вижу смысла доказывать абсолютно очевидные вещи.
...
Рейтинг: 0 / 0
19.07.2006, 20:11
    #33865283
ignaci_v
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
статические или не статические члены?
Здравствуйте, Лиман Артём, Вы писали:

ЛА> ignaci_vА что вы скажеье на http://rsdn.ru/Forum/?mid=122503 ? Есть люди которые думают иначе? Как доказать правоту ваших слов? Я с вами абсолютно согласен, но одними аргументами не отмахаться :), надо как то доказывать? У вас нету никаких соображений на счет того как это протестить?
ЛА>ну, насколько я вижу, там разговор идет о вызове виртуального/невертуального метода. А это совсем другой случай. А те 20мс разницы между "обычный метод" и "статический" — это можна и на погрешность спихнуть. Так что не вижу смысла доказывать абсолютно очевидные вещи.

ЛА>
данное сообщение получено с www.gotdotnet.ru
ЛА>ссылка на оригинальное сообщение


Дело в том что на веб-сервер может сразу вломиться большее количество людей и если эти 20мс умножить на несколько тысчь, плюс затрати на инстанциирование объектов то вроди по этим соображениям это выливаеться в хорошие задержки :)
...
Рейтинг: 0 / 0
19.07.2006, 20:22
    #33865291
BlackTigerAP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
статические или не статические члены?
Никакой разницы нет. Почему? Да потому что "статические методы", это обыкновенные медоты, являющиеся членами обыкновенного класса, который создается CLR "за кулисами" при старте домена приложения. Вся эта "статика" - "синтаксический сахар", не более того.

-
 
How can men die better than facing fearful odds,
For the ashes of their fathers and the temples of their gods?

| Мой Brainbench | BookReader 1.1 | Wallpaper Cycler |
...
Рейтинг: 0 / 0
19.07.2006, 20:26
    #33865298
Lloyd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
статические или не статические члены?
Здравствуйте, BlackTigerAP, Вы писали:

BTA>Никакой разницы нет. Почему? Да потомучто "статические методы", это обыкновенные медоты, являющиеся членами оыкновенного класса, который создается CLR "за кулисами". Вся эта "статика" — "синтаксический сахар", не более того.

Все верно. С точностью до наоборот. ;)
...
Рейтинг: 0 / 0
20.07.2006, 10:50
    #33866137
Inco
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
статические или не статические члены?
Амм.. я могу конечно ошибаться.. но суть везде одна и таже... и думаю принципы от С++ тут не особо изменились

Статический метод — это просто чистый указатель на участок памяти (и врядли он "оборачивает" как было сказано выше)
Обычный метод — двойной указатель на объект + метод относительно него
Виртуальный — есть такие таблички виртуальных методов, так что + обращение к таблице виртуальных методов...

так что это вполне разумно.
...
Рейтинг: 0 / 0
20.07.2006, 11:09
    #33866213
Лиман Артём
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
статические или не статические члены?
ignaci_vДело в том что на веб-сервер может сразу вломиться большее количество людей и если эти 20мс умножить на несколько тысчь, плюс затрати на инстанциирование объектов то вроди по этим соображениям это выливаеться в хорошие задержки :)
ну вообщето эти 20мс - это результат работы цикла из 10,000 итераций. Так что на что-то еще умножать это число навряд ли прийдеца.
На мой взгляд, единственное, чем существенно отличаеца вызов статического метода от метода инстанса, так это тем, что в инстансный метод всегда дополнительно передаеца ссылка на объект класса aka this.
ЗЫ: честно говоря, немного смешно слышать, когда люди задумываюца о подобных "оптимизациях". Как по мне, то оптимизировать надо алгоритмы узких мест программы критичные ко времени: длинные циклы, часто вызываемые методы, ....
...
Рейтинг: 0 / 0
20.07.2006, 11:25
    #33866266
Alex Kuznetsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
статические или не статические члены?
Лиман Артём
ЗЫ: честно говоря, немного смешно слышать, когда люди задумываюца о подобных "оптимизациях". Как по мне, то оптимизировать надо алгоритмы узких мест программы критичные ко времени: длинные циклы, часто вызываемые методы, ....
Совершенно согласен.
Оптимизируйте алгоритмы, архитектуру и взаимосвязи различных модулей и компонентов системы.
...
Рейтинг: 0 / 0
20.07.2006, 11:31
    #33866298
Аноним
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
статические или не статические члены?
Здравствуйте, ignaci_v, Вы писали:

_>Возник такой вопрс:
_>Что работает быстрее статические или не статические методы классов? И можна ли как нибуть провести експеримент на данную тему?
_>Речь идет об истользовании статики или не статики при реализации логики на стороне веб-сервера (веб-сервисов). Что предпочтительней использовать при реализации логики на сервере, статические методи или нет?
_>Делов том, что статика во многом ограничиват ОО дизайн приложения и хотелось бы знать, при стремлении повысить производительность стоит ли оттдавать предпочтение использованию статических методов, или всетаки лучше в первую очередь следить за правельностью архитектуры?


Так, всетаки, чего лучше придерживаться в случае реализации логики на стороне веб-сервера? ОО дизайн привыше всего? :)
...
Рейтинг: 0 / 0
20.07.2006, 14:40
    #33867272
Lloyd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
статические или не статические члены?
Здравствуйте, Inco, Вы писали:

I>Статический метод — это просто чистый указатель на участок памяти (и врядли он "оборачивает" как было сказано выше)
I>Обычный метод — двойной указатель на объект + метод относительно него
I>Виртуальный — есть такие таблички виртуальных методов, так что + обращение к таблице виртуальных методов...

Бобер! Выдыхай!! :))
...
Рейтинг: 0 / 0
20.07.2006, 14:42
    #33867278
Lloyd
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
статические или не статические члены?
Здравствуйте, Аноним, Вы писали:

А>Так, всетаки, чего лучше придерживаться в случае реализации логики на стороне веб-сервера? ОО дизайн привыше всего? :)

Не, процедурный код рулит неподеццки. :)

P.S. Я серьезно.
...
Рейтинг: 0 / 0
31.07.2006, 09:14
    #33888116
Sinclair
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
статические или не статические члены?
Здравствуйте, ignaci_v, Вы писали:

_>Возник такой вопрс:
_>Что работает быстрее статические или не статические методы классов? И можна ли как нибуть провести експеримент на данную тему?
_>Речь идет об истользовании статики или не статики при реализации логики на стороне веб-сервера (веб-сервисов). Что предпочтительней использовать при реализации логики на сервере, статические методи или нет?
_>Делов том, что статика во многом ограничиват ОО дизайн приложения и хотелось бы знать, при стремлении повысить производительность стоит ли оттдавать предпочтение использованию статических методов, или всетаки лучше в первую очередь следить за правельностью архитектуры?
В первую очередь следи за правильностью архитектуры. В веб-приложениях выиграть хоть что-то заметное за счет применения другой модели вызовов — нереально. Реально выиграть за счет, к примеру, отказа от длинных имен Css-классов, потому что они увеличивают длину response и, стало быть, приводят к росту трафика. Реально выиграть за счет тюнинга запросов к БД.
В целом, распределение времени при обработке веб-запроса примерно такая:
70% — обращение к СУБД
30% — передача контента по сети
<1% — выполнение кода

При этом на вызовы приходится меньше 1% от времени исполнения кода. Итого, экономия составит примерно 0.04 * 0.005 * 0.005 от общего времени выполнения, т.е. одну тысячную процента . 1.1.4 stable rev. 510
...
Рейтинг: 0 / 0
03.08.2006, 14:41
    #33897394
ignaci_v
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
статические или не статические члены?
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, ignaci_v, Вы писали:

_>>Возник такой вопрс:
_>>Что работает быстрее статические или не статические методы классов? И можна ли как нибуть провести експеримент на данную тему?
_>>Речь идет об истользовании статики или не статики при реализации логики на стороне веб-сервера (веб-сервисов). Что предпочтительней использовать при реализации логики на сервере, статические методи или нет?
_>>Делов том, что статика во многом ограничиват ОО дизайн приложения и хотелось бы знать, при стремлении повысить производительность стоит ли оттдавать предпочтение использованию статических методов, или всетаки лучше в первую очередь следить за правельностью архитектуры?
S>В первую очередь следи за правильностью архитектуры. В веб-приложениях выиграть хоть что-то заметное за счет применения другой модели вызовов — нереально. Реально выиграть за счет, к примеру, отказа от длинных имен Css-классов, потому что они увеличивают длину response и, стало быть, приводят к росту трафика. Реально выиграть за счет тюнинга запросов к БД.
S>В целом, распределение времени при обработке веб-запроса примерно такая:
S>70% — обращение к СУБД
S>30% — передача контента по сети
S><1% — выполнение кода

S>При этом на вызовы приходится меньше 1% от времени исполнения кода. Итого, экономия составит примерно 0.04 * 0.005 * 0.005 от общего времени выполнения, т.е. одну тысячную процента .


А можна поинтересоваться, откуда такая информация? Может эсть какие-то источники (интересно былобы что-то почитать на эту тему), или из собственного опыта (самостоятельно тестировали)?
...
Рейтинг: 0 / 0
03.08.2006, 18:29
    #33898324
ignaci_v
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
статические или не статические члены?
Здравствуйте, ignaci_v, Вы писали:

_>Здравствуйте, Лиман Артём, Вы писали:

ЛА>> ignaci_vА что вы скажеье на http://rsdn.ru/Forum/?mid=122503 ? Есть люди которые думают иначе? Как доказать правоту ваших слов? Я с вами абсолютно согласен, но одними аргументами не отмахаться :), надо как то доказывать? У вас нету никаких соображений на счет того как это протестить?
ЛА>>ну, насколько я вижу, там разговор идет о вызове виртуального/невертуального метода. А это совсем другой случай. А те 20мс разницы между "обычный метод" и "статический" — это можна и на погрешность спихнуть. Так что не вижу смысла доказывать абсолютно очевидные вещи.

ЛА>>
данное сообщение получено с www.gotdotnet.ru
ЛА>>ссылка на оригинальное сообщение


_>Дело в том что на веб-сервер может сразу вломиться большее количество людей и если эти 20мс умножить на несколько тысчь, плюс затрати на инстанциирование объектов то вроди по этим соображениям это выливаеться в хорошие задержки :)


Хочу поправить самого себя. Ни о каких затратах на "инстанциирование объектов типов" в управляемой куче не может идти и речи.
Вот что говорит об этом Джеффри Рихтер:
Управляемая кича поддерживает специальный указатель, так называемий NextObjPtr. Он указывает адрес в куче, по которому будет выделена память
для следующего создаваемого объекта. Для сравнения, чтобы выделить в неуправляемой куче память для объекта, исполняющая среда С должна пройти по связаному списку структур данных. Обнаружив свободный блок, среда разбивает его, модифицируя указатели в узлах связанного списка, чтобы сохранить его целостность.
В случае управляемой кучи выделение памяти для объекта означает, просто прибавление некоторого значения к указателю, что черезвычайно быстро по сравнению с неуправляемой кучей.

Т.е. объект в управляемой куче выделяеться (создаеться) очень быстро, и переживать об этом безполезно :)

Если еще кто имеет интересную информацию на эту тему прошу выставить ее для всеобщего ознакомления :)
...
Рейтинг: 0 / 0
04.08.2006, 20:10
    #33900916
Sinclair
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
статические или не статические члены?
Здравствуйте, ignaci_v, Вы писали:

_>А можна поинтересоваться, откуда такая информация? Может эсть какие-то источники (интересно былобы что-то почитать на эту тему), или из собственного опыта (самостоятельно тестировали)?
Профилирование различных веб-приложений. 1.1.4 stable rev. 510
...
Рейтинг: 0 / 0
04.08.2006, 23:36
    #33901032
stump
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
статические или не статические члены?
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, ignaci_v, Вы писали:

_>>А можна поинтересоваться, откуда такая информация? Может эсть какие-то источники (интересно былобы что-то почитать на эту тему), или из собственного опыта (самостоятельно тестировали)?
S>Профилирование различных веб-приложений.
Совершенно согласен. Особенно для web методов.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / статические или не статические члены? / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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