[uanog] об индусах и программировании, или о том почему всё глючит...

Paul Arakelyan unisol at cs.kiev.ua
Wed Apr 18 17:23:40 EEST 2018


Что-то мне подсказывает, что это было "10 серверов против 20 скрверов, на
которые тратим бабки - свет/кондеи/ремонт".

В случае "продал изделие себестоимостью железа около 0 за кучу денег
и забыл" - пока не появится конкурент с изделием лучше или существенно
дешевле - можно не рыпаться.
А с учетом того, что программер/разработчик получает з/п, а не часть
прибыли - ему пофиг, в то же время вложение денег в оптимизацию может
и не принести существенной отдачи.

On Fri, Apr 13, 2018 at 10:04:12AM +0300, Vladimir Sharun wrote:
> Привет,
> 
> Сильно депендс от отрасли. У нас был эксперимент и так и так. Оказалось, что корректное програмирование
> 
> в среднесрочной уже перспективе - экономически выгоднее. Провели эксперимент "давайте задавим железом",
> а когда под конец операции "задавим железом" посмотрели на сколько было потрачено - тут же поменяли вектор
> 
> на давайте писать по концепции: написали "как есть", профайлинг, "как надо". 
> 
> 
> 
> В людей инвестировать правильнее. В творческих - в квадрате правильнее.
> 
> 
> 
> PS: с первого раза правильно написать код весьма сложно, т.к. у нас профайлера нет в голове, только общие
> 
> базисы "правильно это написать так". 
> 
> 
> 
> 13 квітня 2018, 09:42:28, від "Volodymyr Litovka" <doka.ua at gmail.com>:
> 
> 
> Саша, по нынешним временам писать код быстро экономически более выгодно, 
> чем писать хорошо. Не всегда, но во многих случаях.
> 
> Ведь когда закончится чип 7х7мм, можно поставить второй такой, а не ещё 
> два стола :) А пока "красавцы" вылизывают свой код, "дятлы" уже продают 
> решение.
> 
> On 4/13/18 9:29 AM, Alexander V Soroka wrote:
> > Привет !
> >
> > Преамбула.
> > Я занимаюсь программированием микроконтроллеров, вот уже лет 20 как.
> > и давно присматривался к MSP430FRxxxx, от Техас Инструментс.
> > По сути это PDP-11 в размере 7 на 7мм !
> > то  что  у  меня в 1986 году занимало два стола - сейчас занимает один
> > чип 7 на 7мм!!! Это волшебство :)
> > Изучаю MSP430 - уже перерыл многое и понимать стал какая КРАСИВАЯ(!!!)
> > архитектура построения! Техасцы просто гении :)
> > Это песня просто для мультизадачных вещей !!!
> >
> > Пока рыл примеры - нарвался на индуса, он задавал вопрос на саппорт:
> > https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/602194
> >
> > Суть  кратко:  индусу  надо  запустить  АЦП  так чтобы оно сделало три
> > измерения  с  разных  каналов,  и  прервалось по факту когда АЦП будет
> > записывать третье(с третьего канала) значение в память.
> >
> > АЦП  там  умное! ему можно сказать: "замеряй с канала номер Х до канала
> > номер  У и записывай само в память, МИНУЯ ПРОЦЕССОР! "
> > Причем  ! какие каналы после каких мерять - ЗАПИСЫВАЕМ(!) в
> > регистры, т.е. нет тупого 1-2-3... а можно сделать любое: 2-1-5-8...
> >
> > А что сделал Индус?
> > он  сделал  так  что  АЦП меряет по кругу три канала, но он вписал что
> > после   каждого   записи  в  память(!)  готового  значения  АЦП  будет
> > вызываться прерывание!
> > НАХУЯ  ???  А  для  того  -  всего-то  -  чтобы  переписать  , прикинь
> > ПЕРЕПИСАТЬ !!! значение из МЕМ-ячейки АЦП в "глобальную переменную"!
> > бля мудак...
> > вот потому и глючит всё вокруг ! бо такие пидарасы пишут проги! :((((
> >
> > из его текста:
> > ADCValue1 = ADC12MEM1 ;
> >
> > ADCValue1 - это его "глобальная переменная".
> > ADC12MEM1  - это ГЛОБАЛЬНОЕ(!) расположение ячейки 16 бит куда пишется
> > с АЦП значение че намеряло АЦП на том канале который ему сказали в эту
> > ячейку  ложить.  повторяю: ГОЛОБАЛЬНОЕ! т.е. доступное из проги на С в
> > любом месте и в любое время!
> >
> > Ну не мудак?
> > Ведь  зачем  прерываться  по  готовности  данных  АЦП  если его спецом
> > сделали чтобы оно само по себе работало! БЕЗ проца и прерываний!
> > тупо  сам  модуль  по  кругу(как  настроишь)  идет  в  канал,  меряет,
> > записывает в память, потом идет на новый канал и т.п.
> >
> > а  ячейка   ADC12MEM1  -  это и так ГЛОБАЛЬНОЕ место - оно отовсюду из
> > твоей проги доступное! Это прибитое гвоздями место в микросхеме!
> >
> > и еще мудак сделал в майн процедуре
> > __delay_cycles(5000); // Delay between conversions
> > верх маразма !
> > теперь мы еще процессором ждем АЦП !
> >
> > Нахуя  тогда  инженеры  ТехасИнструментс  старались  и  строили такую
> > архитектуру???   чтобы   индус   вот   так   разом  помножил  на  ноль
> > ПРОИЗВОДИТЕЛЬНОСТЬ чипа???
> >
> > Мозгов его не хватило сделать философию проще:
> > 1) пусть АЦП там само по кругу, и пишет само в память - МИНУЯ проц!
> > никаких прерываний работы проца вообще!
> >
> > 2)  когда  нам  потребуется  результат из этого канала АЦП - мы просто
> > делаем в любом месте нашей проги, НЕ В ПРЕРЫВАНИИ:
> > ADCValue1 = ADC12MEM1 ;
> >
> > и ВСЁ!!!!!!!!!!!!!!!!!
> > и  далее  бегаем  уже со своим ADCValue1 и везде с ним считаем, то что
> > нам надо - не отрывая проц на постоянные(!) прерывания и укладывание в
> > память  14  циклов  всего  в  стек, чтобы потом поднимать 14 циклов из
> > стека, и так с частотой считывания АЦП умножить на три канала!
> >
> > Ну не мудаки-же такие программеры???
> >
> > Бля.........  я теперь понимаю почему всё глючит и лагает...
> >
> >
> 
> -- 
> Volodymyr Litovka
>    "Vision without Execution is Hallucination." -- Thomas Edison
> 
> _______________________________________________
> uanog mailing list
> uanog at uanog.kiev.ua
> https://mailman.uanog.kiev.ua/mailman/listinfo/uanog

> _______________________________________________
> uanog mailing list
> uanog at uanog.kiev.ua
> https://mailman.uanog.kiev.ua/mailman/listinfo/uanog


-- 
Best regards,
Paul Arakelyan.


More information about the uanog mailing list