27.04.2004, 04:55
|
#16
|
|
Грустно...
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 44
Posts: 21,717
Rep Power: 9
|
Simplest Thing That Will Work
|
|
|
|
27.04.2004, 06:50
|
#17
|
|
....
Join Date: 04 2004
Location: Across the Universe
Age: 43
Posts: 2,497
Rep Power: 5
|
Quote:
|
Originally Posted by Agregat
Скорость кода химера.
Premature Optimization is Evil D.E.Knuth.
Пока с профайлером не посидел и не увидел, где медленно и что медленно - надо работать по принципу "самая простая вещь, которая сработает", а все остальное делается потом.
|
da poka ne znaesh nuzhno sdelat' prototype-t.e rabotayushuyu programmu algorithm kotoroy mozhet rabotat' ne ochen' effectivno i medlenno..no potom nuznho vse vremya uluchshat' chtobi programma(product) stala kachestvennoy
|
|
|
|
27.04.2004, 08:07
|
#18
|
|
Грустно...
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 44
Posts: 21,717
Rep Power: 9
|
Кто сказал, что качественная программа - это быстрая программа?
Качество определяется отказоустойчивостью, удобностью и другими параметрами. Скорость должна быть достаточной, а не максимальной. Почувствуйте разницу.
|
|
|
|
27.04.2004, 11:59
|
#19
|
|
Академик
Join Date: 09 2001
Location: inside myself
Posts: 5,369
Rep Power: 7
|
согласитесь, господа, отказ в результате исчерпания ресурсов (оперативная память и процессорное время, в первую очередь) и есть один из факторов, который может "быстро написанную медленно работающую" программу сделать тормозом системы, а то и вовсе - причиной BSOD-a.
достаточная скорость - может, для одного instance-а и достаточна скорость, но не для двух или пяти - это все равно останется примером "качественной программы"?
|
|
|
|
 |
|
 |
27.04.2004, 14:14
|
#20
|
|
Грустно...
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 44
Posts: 21,717
Rep Power: 9
|
Quote:
|
Originally Posted by greka
согласитесь, господа, отказ в результате исчерпания ресурсов (оперативная память и процессорное время, в первую очередь) и есть один из факторов, который может "быстро написанную медленно работающую" программу сделать тормозом системы, а то и вовсе - причиной BSOD-a.
достаточная скорость - может, для одного instance-а и достаточна скорость, но не для двух или пяти - это все равно останется примером "качественной программы"?
|
Господин Казарян, если возникает отказ из-за нехватки процессорного времени (никогда не слышал о таких отказах вне систем реального времени), то значит скорость недостаточна - то есть не удовлетворено условие, не так ли?
Далее, если это узкое место (bottleneck) системы, что доказано профайлером, опять же мы приходим к понятию недостаточной скорости. Смотрим дальше, работает несколько экземпляров одной и той же программы и данная фунцкия, опять же, доказано профайлером, является узким место - прекрасно, значит скорость недостаточна.
Итак я не увидел противоречия со сказанным мною - пока не доказано, что данная функция является узким местом пишем STTWW, если же доказывается обратное - оптимизируем, переписываем. В больших и особенно опаздывающих проектах - это дает шанс успеть вовремя, а успеть вовремя это заработать деньги, а сидеть и оптимизировать не зная нужно ли это на самом деле - это тратить деньги работадателя, что ему явно не понравится. Преимущества STTWW, что для написания не тратится много времени, то есть, если функция не удовлетворяет каким - либо критериям (память, скорость или иные), пишется оптимизированая версия и разница во времени не большая.
Касательно систем реального времени - так ведь нет правила без исключений. Да, согласен, в RT приложениях надо выжимать с самого начала все процессорные такты. Но какой процент из написаных Вами (зная примерную специфику Вашей работы, сколенен предположить, что у вас этот процент не нуловой, в отличие от меня) и не только приложений являлись RT приложениями?
Насчет конкретно моей функции - быстрее ты не напишешь, разве что попытаешься написать свой std::unique, но не верится в лучшие результаты.
BSOD - понятие ОС семейства Windows. Не лучший термин в данном котексте, так как обсуждение идет "в общем и целом".
Спасибо, за винимани.
|
|
|
|
 |
27.04.2004, 17:16
|
#21
|
|
Академик
Join Date: 09 2001
Location: inside myself
Posts: 5,369
Rep Power: 7
|
2 Agregat: нет.
|
|
|
|
27.04.2004, 19:18
|
#22
|
|
Грустно...
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 44
Posts: 21,717
Rep Power: 9
|
обоснуйте.
|
|
|
|
27.04.2004, 19:20
|
#23
|
|
Грустно...
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 44
Posts: 21,717
Rep Power: 9
|
Кроме того хорошая аббревиатура KISS == Keep it Simple, Stupid!
|
|
|
|
28.04.2004, 14:17
|
#24
|
|
the mochinger
Join Date: 02 2002
Location: Paranoid Android, @10:50
Age: 47
Posts: 1,894
Rep Power: 5
|
Quote:
|
Originally Posted by Agregat
Кроме того хорошая аббревиатура KISS == Keep it Simple, Stupid!
|
Ja soglasen s garikom i toje skaju: net. (ne .NET, a prosto net  )
Btw, simplicity i speed ne iskljuchajut drug druga, tak chto tvoj etot  ne protiv, a naobarot, za garika.
If you spend a little more time in coding you find solutions simpler and better. Btw, the time required for completing the project is shorter when you think more (including about speed) during coding
__________________
The flower that blooms in adversity is the most rare and beautiful of all.
|
|
|
|
 |
|
 |
10.05.2004, 03:29
|
#25
|
|
Бакалавр
Join Date: 03 2002
Location: Detroit, MI, USA
Posts: 482
Rep Power: 0
|
Quote:
|
Originally Posted by Agregat
Господин Казарян, если возникает отказ из-за нехватки процессорного времени (никогда не слышал о таких отказах вне систем реального времени), то значит скорость недостаточна - то есть не удовлетворено условие, не так ли?
Далее, если это узкое место (bottleneck) системы, что доказано профайлером, опять же мы приходим к понятию недостаточной скорости. Смотрим дальше, работает несколько экземпляров одной и той же программы и данная фунцкия, опять же, доказано профайлером, является узким место - прекрасно, значит скорость недостаточна.
Итак я не увидел противоречия со сказанным мною - пока не доказано, что данная функция является узким местом пишем STTWW, если же доказывается обратное - оптимизируем, переписываем. В больших и особенно опаздывающих проектах - это дает шанс успеть вовремя, а успеть вовремя это заработать деньги, а сидеть и оптимизировать не зная нужно ли это на самом деле - это тратить деньги работадателя, что ему явно не понравится. Преимущества STTWW, что для написания не тратится много времени, то есть, если функция не удовлетворяет каким - либо критериям (память, скорость или иные), пишется оптимизированая версия и разница во времени не большая.
Касательно систем реального времени - так ведь нет правила без исключений. Да, согласен, в RT приложениях надо выжимать с самого начала все процессорные такты. Но какой процент из написаных Вами (зная примерную специфику Вашей работы, сколенен предположить, что у вас этот процент не нуловой, в отличие от меня) и не только приложений являлись RT приложениями?
Насчет конкретно моей функции - быстрее ты не напишешь, разве что попытаешься написать свой std::unique, но не верится в лучшие результаты.
BSOD - понятие ОС семейства Windows. Не лучший термин в данном котексте, так как обсуждение идет "в общем и целом".
Спасибо, за винимани.
|
Согласен, за исключением того, что РТ системы - необязательно быстродействующи (распространенное заблуждение).
Определение системы реального времени звучит приблизительно так: "...... гарантирующая время отклика на внешнее событие". Т.е. важен факт константности а не минимальности времени отклика.
А вообще, помоему, самое главное - как можно быстрее получить рабочую игрушку (прототип) и обкатывать на ней как алгоритмы так и вопросы дизайна. А всякие CMM, OOA & OOD, SLDC и.т.д имеют весьма ограниченную область применения.
Удачи!
|
|
|
|
 |
10.05.2004, 11:25
|
#26
|
|
Академик
Join Date: 09 2001
Location: inside myself
Posts: 5,369
Rep Power: 7
|
я тоже за мир во всем мире.
|
|
|
|
10.05.2004, 15:12
|
#27
|
|
....
Join Date: 04 2004
Location: Across the Universe
Age: 43
Posts: 2,497
Rep Power: 5
|
Koroche duamyu nuzhno ugluboitsya v Soft. Engineering...
|
|
|
|
19.08.2004, 12:13
|
#28
|
|
Дошкольник
Join Date: 08 2004
Location: Oxford
Age: 48
Posts: 141
Rep Power: 0
|
if(s.charAt(0) == ' ')s.deleteCharAt(0);
for(int i = 1; i < s.length(); i ++){
if(s.charAt(i - 1) == ' ' && s.charAt(i) == ' '){
s.deleteCharAt(i);
i --;
}
}
if(s.charAt(s.length() - 1) == ' ')s.deleteCharAt(s.length() - 1);
|
|
|
|
19.08.2004, 12:14
|
#29
|
|
Дошкольник
Join Date: 08 2004
Location: Oxford
Age: 48
Posts: 141
Rep Power: 0
|
no good code editor, Schade
|
|
|
|
19.08.2004, 12:20
|
#30
|
|
Грустно...
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 44
Posts: 21,717
Rep Power: 9
|
Quote:
|
Originally Posted by Ablertus
if(s.charAt(0) == ' ')s.deleteCharAt(0);
for(int i = 1; i < s.length(); i ++){
if(s.charAt(i - 1) == ' ' && s.charAt(i) == ' '){
s.deleteCharAt(i);
i --;
}
}
if(s.charAt(s.length() - 1) == ' ')s.deleteCharAt(s.length() - 1);
|
1. Используйте php тэги - тогда выйдет.
2. в ручную вы все как-то. и код не правилен. Так как если в начале будет 2 пробела то один останется. Простая проверка на строке " а" это покажет.
|
|
|
|
|
All times are GMT. The time now is 01:35. |
|
|