Armenian Knowledge Base  

Go Back   Armenian Knowledge Base > Technical sections > Languages, Compilers, Interpreters
Register

Reply
 
LinkBack Thread Tools
Old 27.04.2004, 05:55   #16
Грустно...
 
Agregat's Avatar
 
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 35
Posts: 21,717
Downloads: 2
Uploads: 0
Reputation: 250 | 7
Default

Simplest Thing That Will Work
Reply With Quote
Old 27.04.2004, 07:50   #17
....
 
JennyWren's Avatar
 
Join Date: 04 2004
Location: Across the Universe
Age: 34
Posts: 2,497
Downloads: 1
Uploads: 0
Reputation: 53 | 3
Default

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
Reply With Quote
Old 27.04.2004, 09:07   #18
Грустно...
 
Agregat's Avatar
 
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 35
Posts: 21,717
Downloads: 2
Uploads: 0
Reputation: 250 | 7
Default

Кто сказал, что качественная программа - это быстрая программа?
Качество определяется отказоустойчивостью, удобностью и другими параметрами. Скорость должна быть достаточной, а не максимальной. Почувствуйте разницу.
Reply With Quote
Old 27.04.2004, 12:59   #19
Академик
 
greka's Avatar
 
Join Date: 09 2001
Location: inside myself
Posts: 5,369
Downloads: 0
Uploads: 0
Reputation: 18 | 5
Default

согласитесь, господа, отказ в результате исчерпания ресурсов (оперативная память и процессорное время, в первую очередь) и есть один из факторов, который может "быстро написанную медленно работающую" программу сделать тормозом системы, а то и вовсе - причиной BSOD-a.

достаточная скорость - может, для одного instance-а и достаточна скорость, но не для двух или пяти - это все равно останется примером "качественной программы"?
Reply With Quote
Old 27.04.2004, 15:14   #20
Грустно...
 
Agregat's Avatar
 
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 35
Posts: 21,717
Downloads: 2
Uploads: 0
Reputation: 250 | 7
Default

Quote:
Originally Posted by greka
согласитесь, господа, отказ в результате исчерпания ресурсов (оперативная память и процессорное время, в первую очередь) и есть один из факторов, который может "быстро написанную медленно работающую" программу сделать тормозом системы, а то и вовсе - причиной BSOD-a.

достаточная скорость - может, для одного instance-а и достаточна скорость, но не для двух или пяти - это все равно останется примером "качественной программы"?
Господин Казарян, если возникает отказ из-за нехватки процессорного времени (никогда не слышал о таких отказах вне систем реального времени), то значит скорость недостаточна - то есть не удовлетворено условие, не так ли?
Далее, если это узкое место (bottleneck) системы, что доказано профайлером, опять же мы приходим к понятию недостаточной скорости. Смотрим дальше, работает несколько экземпляров одной и той же программы и данная фунцкия, опять же, доказано профайлером, является узким место - прекрасно, значит скорость недостаточна.
Итак я не увидел противоречия со сказанным мною - пока не доказано, что данная функция является узким местом пишем STTWW, если же доказывается обратное - оптимизируем, переписываем. В больших и особенно опаздывающих проектах - это дает шанс успеть вовремя, а успеть вовремя это заработать деньги, а сидеть и оптимизировать не зная нужно ли это на самом деле - это тратить деньги работадателя, что ему явно не понравится. Преимущества STTWW, что для написания не тратится много времени, то есть, если функция не удовлетворяет каким - либо критериям (память, скорость или иные), пишется оптимизированая версия и разница во времени не большая.
Касательно систем реального времени - так ведь нет правила без исключений. Да, согласен, в RT приложениях надо выжимать с самого начала все процессорные такты. Но какой процент из написаных Вами (зная примерную специфику Вашей работы, сколенен предположить, что у вас этот процент не нуловой, в отличие от меня) и не только приложений являлись RT приложениями?

Насчет конкретно моей функции - быстрее ты не напишешь, разве что попытаешься написать свой std::unique, но не верится в лучшие результаты.

BSOD - понятие ОС семейства Windows. Не лучший термин в данном котексте, так как обсуждение идет "в общем и целом".
Спасибо, за винимани.
Reply With Quote
Old 27.04.2004, 18:16   #21
Академик
 
greka's Avatar
 
Join Date: 09 2001
Location: inside myself
Posts: 5,369
Downloads: 0
Uploads: 0
Reputation: 18 | 5
Default

2 Agregat: нет.
Reply With Quote
Old 27.04.2004, 20:18   #22
Грустно...
 
Agregat's Avatar
 
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 35
Posts: 21,717
Downloads: 2
Uploads: 0
Reputation: 250 | 7
Default

обоснуйте.
Reply With Quote
Old 27.04.2004, 20:20   #23
Грустно...
 
Agregat's Avatar
 
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 35
Posts: 21,717
Downloads: 2
Uploads: 0
Reputation: 250 | 7
Default

Кроме того хорошая аббревиатура KISS == Keep it Simple, Stupid!
Reply With Quote
Old 28.04.2004, 15:17   #24
the mochinger
 
Hans Andersen's Avatar
 
Join Date: 02 2002
Location: Paranoid Android, @10:50
Age: 38
Posts: 1,894
Downloads: 2
Uploads: 0
Reputation: 204 | 4
Default

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.
Reply With Quote
Old 10.05.2004, 04:29   #25
Бакалавр
 
Join Date: 03 2002
Location: Detroit, MI, USA
Posts: 482
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Default

Quote:
Originally Posted by Agregat
Господин Казарян, если возникает отказ из-за нехватки процессорного времени (никогда не слышал о таких отказах вне систем реального времени), то значит скорость недостаточна - то есть не удовлетворено условие, не так ли?
Далее, если это узкое место (bottleneck) системы, что доказано профайлером, опять же мы приходим к понятию недостаточной скорости. Смотрим дальше, работает несколько экземпляров одной и той же программы и данная фунцкия, опять же, доказано профайлером, является узким место - прекрасно, значит скорость недостаточна.
Итак я не увидел противоречия со сказанным мною - пока не доказано, что данная функция является узким местом пишем STTWW, если же доказывается обратное - оптимизируем, переписываем. В больших и особенно опаздывающих проектах - это дает шанс успеть вовремя, а успеть вовремя это заработать деньги, а сидеть и оптимизировать не зная нужно ли это на самом деле - это тратить деньги работадателя, что ему явно не понравится. Преимущества STTWW, что для написания не тратится много времени, то есть, если функция не удовлетворяет каким - либо критериям (память, скорость или иные), пишется оптимизированая версия и разница во времени не большая.
Касательно систем реального времени - так ведь нет правила без исключений. Да, согласен, в RT приложениях надо выжимать с самого начала все процессорные такты. Но какой процент из написаных Вами (зная примерную специфику Вашей работы, сколенен предположить, что у вас этот процент не нуловой, в отличие от меня) и не только приложений являлись RT приложениями?

Насчет конкретно моей функции - быстрее ты не напишешь, разве что попытаешься написать свой std::unique, но не верится в лучшие результаты.

BSOD - понятие ОС семейства Windows. Не лучший термин в данном котексте, так как обсуждение идет "в общем и целом".
Спасибо, за винимани.
Согласен, за исключением того, что РТ системы - необязательно быстродействующи (распространенное заблуждение).
Определение системы реального времени звучит приблизительно так: "...... гарантирующая время отклика на внешнее событие". Т.е. важен факт константности а не минимальности времени отклика.

А вообще, помоему, самое главное - как можно быстрее получить рабочую игрушку (прототип) и обкатывать на ней как алгоритмы так и вопросы дизайна. А всякие CMM, OOA & OOD, SLDC и.т.д имеют весьма ограниченную область применения.

Удачи!
Reply With Quote
Old 10.05.2004, 12:25   #26
Академик
 
greka's Avatar
 
Join Date: 09 2001
Location: inside myself
Posts: 5,369
Downloads: 0
Uploads: 0
Reputation: 18 | 5
Default

я тоже за мир во всем мире.
Reply With Quote
Old 10.05.2004, 16:12   #27
....
 
JennyWren's Avatar
 
Join Date: 04 2004
Location: Across the Universe
Age: 34
Posts: 2,497
Downloads: 1
Uploads: 0
Reputation: 53 | 3
Default

Koroche duamyu nuzhno ugluboitsya v Soft. Engineering...
Reply With Quote
Old 19.08.2004, 13:13   #28
Дошкольник
 
Join Date: 08 2004
Location: Oxford
Age: 38
Posts: 141
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Default

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);
Reply With Quote
Old 19.08.2004, 13:14   #29
Дошкольник
 
Join Date: 08 2004
Location: Oxford
Age: 38
Posts: 141
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Default

no good code editor, Schade
Reply With Quote
Old 19.08.2004, 13:20   #30
Грустно...
 
Agregat's Avatar
 
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 35
Posts: 21,717
Downloads: 2
Uploads: 0
Reputation: 250 | 7
Default

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 пробела то один останется. Простая проверка на строке " а" это покажет.
Reply With Quote
Sponsored Links
Reply

Thread Tools


На правах рекламы:
реклама

All times are GMT. The time now is 07:23.


Powered by vBulletin® Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.