ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Результаты опроса: как вы пишите?
1-ый вариант 11 28.21%
второй 28 71.79%
Голосовавшие: 39. Вы ещё не участвовали в этом опросе

Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #31  
Старый 15.05.2009, 10:54
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от Qwazar  
А оптимизация (не считая алгоритмической), часто бывает избыточной, и отнимает слишком много времени
Ну может ты и прав
Хотя, это зависит от предметной области. Не думаю что в графических движках, например, оптимизация бывает "избыточной"
 
Ответить с цитированием

  #32  
Старый 15.05.2009, 11:12
Qwazar
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме:
10605912

Репутация: 4693


По умолчанию

Цитата:
Сообщение от Algol  
Ну может ты и прав
Хотя, это зависит от предметной области. Не думаю что в графических движках, например, оптимизация бывает "избыточной"
Пример из анекдота: "Мы переписали весь код на ассемблер, добившись повышения производительности на 3%, и увеличения времени дебага на 300%"
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..

Мой блог:http://qwazar.ru/.
 
Ответить с цитированием

  #33  
Старый 15.05.2009, 11:15
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от Ra$cal  
он пишет о других типах методов. которые выполняют вычисления. гетеры и сетеры к этим типам методов не относятся.
А мы и не про геттеры говорим...
Посмотри внимательно изначальный код. Там метод, а не геттер.
 
Ответить с цитированием

  #34  
Старый 15.05.2009, 17:38
nerezus
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


Отправить сообщение для nerezus с помощью ICQ
По умолчанию

Algol, лучше написать 10 программ со 100% производительности, чем это же время потратить на 1 с 150%процентной.
Ведь за деньги с 9 остальных программ можно купить железо на увеличение произвродительности на все 10000%.
 
Ответить с цитированием

  #35  
Старый 15.05.2009, 18:54
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

Цитата:
Сообщение от Algol  
А мы и не про геттеры говорим...
Посмотри внимательно изначальный код. Там метод, а не геттер.
все зависит от реализации того класса. он может хранить число элементов и менять переменную при модификации объекта(пушнули запись, проинкрементили коунтер), или же вычислять число элементов при каждом вызове. так вот тут как раз и кроется простор для оптимизации. вместо того, чтобы в каждом цикле делать int arrsize = arr.count() проще сделать внутри класса массива поле размера. собсно к этому и сводится рефакторинг =) все куски кода делаем очевидными, убираем дублирование кода, а потом в случае необходимости правим в некоторых местах, ибо одинаковый код по максималу убран. обрати внимание насколько проще это дело оптимизировать - всего в одном месте, и в самом логичном - в классе массива.
но естественно есть варианты кода, где такое не канает, и понадобится другая оптимизация. ну или в случае, когда нет доступа к исходному коду. но тогда как вариант можно просто наследовать класс от этого или сделать фасад и добавить сию фишку руками.
 
Ответить с цитированием

  #36  
Старый 15.05.2009, 22:26
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

бла-бла-бла
 
Ответить с цитированием

  #37  
Старый 15.05.2009, 23:55
nerezus
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


Отправить сообщение для nerezus с помощью ICQ
По умолчанию

Цитата:
бла-бла-бла
Т.е. лучше завалить проект, но некоторую ее часть сделать чуть быстрее, чем сдать готовый проект?

Дело в приоритетах. Я выбираю сдать проект.
 
Ответить с цитированием

  #38  
Старый 16.05.2009, 01:17
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от nerezus  
Т.е. лучше завалить проект, но некоторую ее часть сделать чуть быстрее, чем сдать готовый проект?

Дело в приоритетах. Я выбираю сдать проект.
Разве я это сказал? Разве оптимизация ведет к завалу проекта? К чему эти фантазии?
Просто лично я (написать триста раз ИМХО?) привык писать код максимальный по быстродействию.
Если я вижу что вариант с временной переменной быстрее (а для меня еще и читабельнее, интуитивно понятнее!) чем с многократным вызовом функции - то мне что, специально писать заведомо более медленный вариант? Только потому что так сказал Фаулер, и что это по фен-шую? Я автоматом выношу все вызовы функций из цикла, если они не зависят от параметра, и для меня это совершенно не составляет труда и времени, а потому ни о каком завале проекта речь не идет. Конечно, если оптимизация с сомнительной рациональностью занимает пол дня, я ее, разумеется, не делаю. Но если она у меня на автомате, зачем от нее отказываться?
 
Ответить с цитированием

  #39  
Старый 16.05.2009, 01:17
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

я бы еще добавил - выбираю сдать проект, суметь потом этот проект поддерживать, исправлять и дополнять

[added]
если ты пишешь проект один - то никакой проблемы нету. но когда пишешь в команде - тут главным становится критерий читабельности, а не скорости. поэтому все и пишут читабельный код. потом профайлят, и узкие места приводят к менее читабельному виду. но таких мест не много и все счастливы - и клиент получил быструю программу, и разработчики могут с ней работать дальше. а вариант на ходу оптимазить все операции - нерационален. я раньше так же писал. долго писал =) потом понял что лажа это все. не стоит оно усилий потраченых. но это все дело вкуса. на фаулера никто не молится. просто находим с ним общие решения =)

Последний раз редактировалось Ra$cal; 16.05.2009 в 01:21..
 
Ответить с цитированием

  #40  
Старый 16.05.2009, 01:25
Qwazar
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме:
10605912

Репутация: 4693


По умолчанию

Цитата:
Сообщение от Algol  
Но если она у меня на автомате, зачем от нее отказываться?
Согласен, это работа программиста - писать адекватный код. Речь идёт о намеренной оптимизации с подобными заморочками, типа замены геттеров/сеттеров, публичным полем класса (в ущерб нормальной инкапсуляции), или к примеру намерянным разворачиванием цикла в N последовательных вызовов (в ущерб читабельности) и т.д. В общем, до прохода профайлером, оптимизации не должна идти во вред читабельности и возможности модификации программы + не должна требовать большого количества доп. усилий, т.к. ты до профайлера не можешь сказать, какие участки стоит оптимизировать в первую очередь, а на какие можно вообще забить.
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..

Мой блог:http://qwazar.ru/.

Последний раз редактировалось Qwazar; 16.05.2009 в 01:28..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с буфером обмена в kernel-mode 0x0c0de Реверсинг 11 01.06.2009 11:51
Оптимизация сайта под поисковик Spiktorg Белые методы раскрутки 1 14.05.2009 04:22
Кейлогер на Vb или как правильно играть в Gta!!! je0n Авторские статьи 6 25.05.2007 23:55
Поиск PHP уязвимостей на примере phpBB _-[A.M.D]HiM@S-_ Статьи 1 29.10.2006 11:18



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ