Страница 2 из 6

Re: C для AVR -- пишем аккуратно.

Добавлено: Сб авг 25, 2012 19:32:42
HHIMERA
Сам трепло... ))))))))
Теперь подумай... для кого ты всё это писал и для чего??? )))))))))
Знающим по барабану твои мозговые извращения, а новичкам они как мёртвому припарка... они в двух буквах запутаются... )))))))
Дальше... чего добиться хотел то... уменьшения кода??? Ускорения работы??? Хотел показать, что компилерописатели лохи??? Смешно!!!
В каждом случае все будет индивидуально... универсальных "примочек" быть не может... и то, что может быть оптимальным в одном случае, в другом станет фикцией или глюком... только не каждому под силу потом в этом разобраться, к сожалению... Примеров море... с указателями - океан...
Убивать свой мозг ради того. чтобы приблизиться к АСМу по размеру кода??? А многие смогут написать тоже самое на АСМе??? С чем они то сравнивать будут???
Цеплять причуды с граблями ради ускорения кода??? Оно стоит того??? Чтобы в конце концов упереться в предел возможности камня, вместо освоения новой архитектуры???
GCC... Да порой он просто поражает своими вывихами (вот щас АСМисты возликуют!!!)... вроде и пишешь короткий и понятный код, а в результате оптимизации получаешь ........... ...
Начинаешь ему "абиснять"... благо знаю как уговорить...
Знаю о всём не понаслышке... самого иногда подмывает "замутить" и "удивить самого себя"... забывая золотое правило... "Не мешай компилятору!"...

Re: C для AVR -- пишем аккуратно.

Добавлено: Сб авг 25, 2012 19:53:13
Axon
HHIMERA, +1

Re: C для AVR -- пишем аккуратно.

Добавлено: Вс авг 26, 2012 00:19:55
shads
avreal, не обращай внимания, мало ли на пути встречается людей с деструктивным мышлением.....

Re: C для AVR -- пишем аккуратно.

Добавлено: Вс авг 26, 2012 01:21:32
ibiza11
я считаю, что avreal получил хороший опыт, разобрался что к чему, нашел для себя что-то новое и решил поделиться результатами с теми, кому возможно будет интересно посмотреть.
согласен, что для некоторых разработчиков трата времени на подобные оптимизации не окупает себя в итоге. быстрее написать кроссплатформенный, интуитивно понятный код, в котором по прошествии времени не нужно будет разбираться и вникать : "чё???... куда???... на ну нах@й!!!...."
В общем, хочу сказать, что нет смысла спорить, нужно это кому то или нет! Главное автор из этого вынес выгоду. Низкий поклон усидчивости и щепетильности, avreal! :beer:

Re: C для AVR -- пишем аккуратно.

Добавлено: Вс авг 26, 2012 11:40:37
YS
для кого ты всё это писал и для чего??? )))))))))
Знающим по барабану твои мозговые извращения, а новичкам они как мёртвому припарка...
Конкретно для меня, например.

Я уже далеко не новичок, но пока и не гуру-мастер. Так что в самый раз. Я вынес несколько интересных идей, за что большое спасибо тов. avreal.

Если для чьего-то мозга сия пища тверда зело, это не значит, что принципиально нет людей, которые способны понять и оценить предлагаемое.

А вообще, толсто.

Re: C для AVR -- пишем аккуратно.

Добавлено: Вс авг 26, 2012 12:27:52
HHIMERA
Если у компилера напрочь отобрать всё... возникает вопрос... а зачем тогда компилер вообще нужен???
Проще на АСМе было написать... сэкономив время и серое вещество...

Re: C для AVR -- пишем аккуратно.

Добавлено: Вс авг 26, 2012 15:55:20
crocodil
HHIMERA писал(а): Дальше... чего добиться хотел то... уменьшения кода??? Ускорения работы??? Хотел показать, что компилерописатели лохи??? Смешно!!!
Компилеры писали не лохи, но и не боги, а такие же люди как и ты.
А как известно, людям свойственно ошибаться.

Re: C для AVR -- пишем аккуратно.

Добавлено: Вс авг 26, 2012 16:40:02
HHIMERA
Только не надо путать ошибки (они, как правило, все расписаны) и стратегию разработчиков компиляторов...
Это разные вещи... Сравните генерируемый код нескольких компиляторов различных брэндов и поймёте о чем речь...
Но на первом месте всегда, у всех, будет устойчивость и преемственность...

Re: C для AVR -- пишем аккуратно.

Добавлено: Пн авг 27, 2012 18:03:06
avreal
ibiza11 писал(а):быстрее написать кроссплатформенный, интуитивно понятный код
Так а там основные скоращения (с 870 до 670 байт) все в рамках кроссплатформенного кода. Насколько можно говорить о кросплатформенности в коде такого размера, завязанного на конкретный микроконтроллер и компилятор (работа с EEPROM).
А по поводу интуитивной понятности — так это вопрос вообще по сути вкусовой, зависящий от человека, его предистории (предыдущего опыта).
ibiza11 писал(а):Главное автор из этого вынес выгоду.
Автор из этого потерял какое-то количество времени и всё.
Просто проходил мимо, увидел сообщение, подумал «не может быть, что разница аж в два раза на задаче такого типа».
Глянул исходник, подумал «ну так ведь не так писать надо!».
Потом просто проверил, насколько прав.
А почти весь нужный опыт был получен ещё на «до-ANSI-шном C». В котором нужно было писать:

Код: Выделить всё

foo (a,b)
  int a;
  int b;
{
    return a+b;
}
И где нужно было гораздо чётче излагать компилятору свои мысли (т.е. сначала чётко их сформулировать для себя).

Re: C для AVR -- пишем аккуратно.

Добавлено: Вт авг 28, 2012 07:30:02
ibiza11
avreal писал(а):Автор из этого потерял какое-то количество времени и всё.
Ну Вам виднее, тогда вынужден согласиться с HHIMERA, что время Вы потратили зря. :dont_know:

Re: C для AVR -- пишем аккуратно.

Добавлено: Вт авг 28, 2012 11:14:52
avreal
Ну так это с Вашей точки зрения. У меня сложилось мнение, что не все так считают.
Возможно, я ошибаюсь и действительно и тут и в других «С-объясняющих» своих постах потратил его зря «абсолютно», а не только с Вашей, HHIMERA, … точки зрения.
В таком случае, опять уже с моей точки зрения, это всё очень печально. И отнюдь не потому, что у меня пропало сколько-то там часов.

Re: C для AVR -- пишем аккуратно.

Добавлено: Вт авг 28, 2012 12:36:08
HHIMERA
Печально то, что вы изначально выбрали неудачный пример... на таком камне компилятору просто негде себя реализовать... и вы должны были об этом знать...
Дальше... На таком маленьком объёме кода вы взяли всё управление на себя... полностью... стоило оно того или нет - в разных случаях по разному... кого-то спасёт, у кого-то просто отнимет время... результат достигнут не будет...
Дальше... Вы взялись рулить регистрами вручную, но не акцентировали, что не всеми регистрами можно рулить свободно... хэлпы, к сожалению, не все читают...
Дальше... Игры с регистрами в двух случаях закончились плачевно, что и неудивительно, но вас, почему-то, это не насторожило...
А то, что вы потратили время и затронули эту тему... Время потрачено не зря, подобные темы возникают периодически... а опыта, без потери времени, не наживёшь...

Re: C для AVR -- пишем аккуратно.

Добавлено: Вт авг 28, 2012 13:43:09
ibiza11
avreal писал(а):Ну так это с Вашей точки зрения.
Вы ошибаетесь, это как раз с Вашей точки зрения, потому что я Вас и процитировал и из этого сделал вывод. Странно, что Вы сначала пишете, что только время потратили не получив ценного опыта, а потом говорите, что это моя точка зрения.
моя точка зрения написана чуть выше

Re: C для AVR -- пишем аккуратно.

Добавлено: Вт авг 28, 2012 15:09:45
shads
Может хватит переливать из пустого в порожнее.....

Мне например (думаю я не один такой), интересно познавать тонкости написания программ, (хотя это конечно не означает что я сразу начну писать так, как предлагает ТС, зато я приобретаю опыт, который никогда не помешает).

Если кому то, так, не охота писать, так приведите конкретные примеры, почему так писать не надо, если нет конкретных примеров (аргументы типа: будет то.... будет се.... веса никакого не представляют), ну так и не надо развозить грязь, болтунов итак хватает.
HHIMERA писал(а):Печально то, что вы изначально выбрали неудачный пример... на таком камне компилятору просто негде себя реализовать... и вы должны были об этом знать...
Какая разница какой камень.... Подвернулся случай, на нем и объясняют..... Зато передается опыт, а не сотрясается воздух от пустых звуков......
HHIMERA писал(а):Дальше... На таком маленьком объёме кода вы взяли всё управление на себя... полностью... стоило оно того или нет - в разных случаях по разному... кого-то спасёт, у кого-то просто отнимет время... результат достигнут не будет...
Зато можно поучится, как управлять мощными ресурсами, а не просто тупо молится на интеллект компилятора. А то что время отняло, дык можно подумать что у вас каждый час тышшу приносит, и прям вы время не тратите на какие нибудь пустые дела.
HHIMERA писал(а):Дальше... Вы взялись рулить регистрами вручную, но не акцентировали, что не всеми регистрами можно рулить свободно... хэлпы, к сожалению, не все читают...
Ну дак укажите на это, вежливо, дав конкретную информацию, хоть какаято польза от вас будет в этой ветке..... А хаить всех - проще простого, много ума не надо.....
HHIMERA писал(а):Дальше... Игры с регистрами в двух случаях закончились плачевно, что и неудивительно, но вас, почему-то, это не насторожило...
Ну дак укажите на это, вежливо, дав конкретную информацию, хоть какаято польза от вас будет в этой ветке..... Я например как раз собирался, для определенных целей, научится резервировать регистры при программировании на С, (зачем мне это надо, не собираюсь вам объяснять, потому что все равно конструктивной помощи от вас не дождешся, только обгадите с ног до головы) дак вот, если вам это не нужно, то не мешайте тем кому это интересно.....
HHIMERA писал(а):А то, что вы потратили время и затронули эту тему... Время потрачено не зря, подобные темы возникают периодически... а опыта, без потери времени, не наживёшь...
Вот здесь я не понял..... неужели вы никого не ругаете, и говорите в положительном ключе??????

ibiza11 вы тоже уже определитесь пожалста, интересно вам тут или нет, ато, от вашего метания из стороны в сторону, смешно както.....

Re: C для AVR -- пишем аккуратно.

Добавлено: Вт авг 28, 2012 15:43:35
HHIMERA
Опыт - не триппер... он не передаётся... он накапливается или приходит со временем, в результате труда и самообучения...

Re: C для AVR -- пишем аккуратно.

Добавлено: Вт авг 28, 2012 15:51:36
shads
Вот вот еще раз убеждаюсь, что вы здесь не по адресу, вам бы форумы про трипер поискать, там бы вы, как в своей тарелке были.....

Re: C для AVR -- пишем аккуратно.

Добавлено: Вт авг 28, 2012 16:14:12
ibiza11
shads писал(а):ibiza11 вы тоже уже определитесь пожалста, интересно вам тут или нет, ато, от вашего метания из стороны в сторону, смешно както.....
Смех без причины признак сами знаете кого... Разве речь была об интересе? Автор сам говорит, что
avreal писал(а):Автор из этого потерял какое-то количество времени и всё.
Я просто сделал поспешные выводы, думая, что автор
ibiza11 писал(а):получил хороший опыт, разобрался что к чему, нашел для себя что-то новое и решил поделиться результатами с теми, кому возможно будет интересно посмотреть
но автор это отрицает, поэтому я не вижу смысла в подобном времяпрепровождении.

Re: C для AVR -- пишем аккуратно.

Добавлено: Вт авг 28, 2012 17:28:40
shads
Тема называется "C для AVR -- пишем аккуратно.", а не "Тот сказал это, этот сказал то....."

Re: C для AVR -- пишем аккуратно.

Добавлено: Вт авг 28, 2012 17:47:51
HHIMERA
Аккуратно - это не только сэкономить десяток байтов и пару тактов... это и чтобы после каждого, малейшего, изменения исходника не впадать в ступор... "пачему оно не робить?"... если вы ещё не поняли...

Re: C для AVR -- пишем аккуратно.

Добавлено: Вт авг 28, 2012 18:02:34
avreal
ibiza11 писал(а):Вы ошибаетесь, это как раз с Вашей точки зрения, потому что я Вас и процитировал и из этого сделал вывод. Странно, что Вы сначала пишете, что только время потратили не получив ценного опыта, а потом говорите, что это моя точка зрения.
моя точка зрения написана чуть выше
Ну так я же сказал позже, что весь «ценный опыт» я получил гораздо раньше. Сейчас благодаря ему хватило одного взгляда на исходник, чтобы выделить критические места. Время было потрачено на переписывание и компиляцию, дополнительного опыта мне лично не принесло. Даже то, что многие на этом форуме считают мою писанину бессмысленной — даже этот опыт уже получен ранее в других темах.

Ваш вывод — не Ваша точкам зрения? Интересно... А чья -- телевизора?
Вот то сообщение, на которое я отвечал.
ibiza11 писал(а):Ну Вам виднее, тогда вынужден согласиться с HHIMERA, что время Вы потратили зря. :dont_know:
И в моём ответе на это про точки зрения речь шла только о зря или не зря потраченном времени, но не приобретении или не приобретении опыта.