|
Какие лучше иметь данные-коллекции в классах - конкретные или интерфейсы?
|
|||
---|---|---|---|
#18+
user7320Ну, выше же говорили про производительность, что это лишний вызов метода, который где-то на порядок медленнее прямого обращения к полю (судя по старым тестам ещё времён фреймворк 1-1.1, может, 2). Поэтому, скажем, обращение к полю через геттер внутри класса лучше всё же заменить на прямое обращение к полю в задачах, где слишком много таких обращений (всякие итерации по сассивам и пр.). Правильно я говорю, да?Почему тогда не писать сразу на ассемблере, если производительность так критична? Не стоит заморачиваться на этих мелких оптимизациях, если точно не видно, что есть существенное падение производительности. http://ericlippert.com/2012/12/17/performance-rant/ ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2013, 07:03 |
|
Какие лучше иметь данные-коллекции в классах - конкретные или интерфейсы?
|
|||
---|---|---|---|
#18+
enigmaticПочему тогда не писать сразу на ассемблере, если производительность так критична? Не стоит заморачиваться на этих мелких оптимизациях, если точно не видно, что есть существенное падение производительности. http://ericlippert.com/2012/12/17/performance-rant/ А зачем тормозить на ровном месте? Если Сишарп не самый быстрый язык в мире, это не значит, что нужно делать его медленнее, чем он есть. И если у меня какой-то метод слишком много обращается к полям своего класса, то почему бы сразу не сделать обращение к этим полям непосредственным, а не через геттеры? Сразу, а не после тестирования производительности и обнаружения очевидных просадок на тех местах, где вы их и ожидали ещё при написании кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2013, 07:52 |
|
Какие лучше иметь данные-коллекции в классах - конкретные или интерфейсы?
|
|||
---|---|---|---|
#18+
авторА зачем тормозить на ровном месте? Если Сишарп не самый быстрый язык в мире, это не значит, что нужно делать его медленнее, чем он есть.Что значит "медленный"? Если вам важна скорость, почему вы не пишите на Асме/C/C++? авторИ если у меня какой-то метод слишком много обращается к полям своего класса, то почему бы сразу не сделать обращение к этим полям непосредственным, а не через геттеры?Если есть просадка - обращайтесь. Разве я написал обратное? авторНе стоит заморачиваться на этих мелких оптимизациях, если точно не видно, что есть существенное падение производительности. авторСразу, а не после тестирования производительности и обнаружения очевидных просадок на тех местах, где вы их и ожидали ещё при написании кода.Вместо того чтобы фокусироваться на мелочах лучше сфокусироваться на решении своей задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2013, 08:17 |
|
Какие лучше иметь данные-коллекции в классах - конкретные или интерфейсы?
|
|||
---|---|---|---|
#18+
enigmaticНе стоит заморачиваться на этих мелких оптимизацияхСтоит. Не считая того, что появляется привычка сразу писать максимально эффективный код, много мелких оптимизаций дают ощутимый прирост производительности системы в целом. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2013, 09:47 |
|
Какие лучше иметь данные-коллекции в классах - конкретные или интерфейсы?
|
|||
---|---|---|---|
#18+
AntonariyСтоит. Не считая того, что появляется привычка сразу писать максимально эффективный код, много мелких оптимизаций дают ощутимый прирост производительности системы в целом.Не стоит выдирать фразу из контекста. Если код занимается только доступом к данным класса через поля/свойства, то да. Иначе - нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2013, 09:57 |
|
Какие лучше иметь данные-коллекции в классах - конкретные или интерфейсы?
|
|||
---|---|---|---|
#18+
enigmaticНе стоит выдирать фразу из контекста. Если код занимается только доступом к данным класса через поля/свойства, то да. Иначе - нет.А код который занимается только доступом к данным класса через поля/свойства никому не нужен. авторСтоит. Не считая того, что появляется привычка сразу писать максимально эффективный код, много мелких оптимизаций дают ощутимый прирост производительности системы в целом.Стоит интересоваться мелкими оптимизациями. И в то же время не стоит их делать. Почему вы думаете, что пишете максимально эффективный код? Почему вы считаете, что много мелких оптимизаций дадут ощутимый прирост производительности системы в целом? Как влияет количество мелких оптимизаций на ощутимый прирост производительности? Насколько он ощутимый? Вы учитываете количество времени, которое тратите для этих оптимизаций? Стоит ли оно того? http://ericlippert.com/2012/12/17/performance-rant/ ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2013, 10:13 |
|
Какие лучше иметь данные-коллекции в классах - конкретные или интерфейсы?
|
|||
---|---|---|---|
#18+
Компилятор (если компилировать с оптимизацией, например в Release версии), заменяет геттеры на inline код: http://www.ademiller.com/blogs/tech/2008/08/c-inline-methods-and-optimization/ ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2013, 10:15 |
|
Какие лучше иметь данные-коллекции в классах - конкретные или интерфейсы?
|
|||
---|---|---|---|
#18+
enigmaticПочему вы думаете, что пишете максимально эффективный код?Потому что я знаю разные приемы по оптимизации и использую их. enigmaticПочему вы считаете, что много мелких оптимизаций дадут ощутимый прирост производительности системы в целом?Я не "считаю", это факт. enigmaticКак влияет количество мелких оптимизаций на ощутимый прирост производительности?Молча. enigmaticНасколько он ощутимый?На глаз. enigmaticВы учитываете количество времени, которое тратите для этих оптимизаций?Я не трачу время на написание не оптимального кода, чтобы потом тратить время на его оптимизацию, я пишу оптимально сразу. И я не трачу время на обдумывание, потому что знаю заранее, как оптимальней.enigmaticСтоит ли оно того?Оно мне бесплатно. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2013, 10:35 |
|
Какие лучше иметь данные-коллекции в классах - конкретные или интерфейсы?
|
|||
---|---|---|---|
#18+
Antonariy, Окей. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2013, 10:40 |
|
Какие лучше иметь данные-коллекции в классах - конкретные или интерфейсы?
|
|||
---|---|---|---|
#18+
Демагоги ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2013, 10:41 |
|
Какие лучше иметь данные-коллекции в классах - конкретные или интерфейсы?
|
|||
---|---|---|---|
#18+
enigmaticНе стоит заморачиваться на этих мелких оптимизациях, если точно не видно, что есть существенное падение производительности. в частности, тут было это: какое приложение быстрее х86 или х64. маленькое исследование ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2013, 11:28 |
|
|
start [/forum/topic.php?fid=20&msg=38192496&tid=1404986]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 147ms |
0 / 0 |