roboforum.ru

Технический форум по робототехнике.
Текущее время: 23 ноя 2024, 07:52

Часовой пояс: UTC + 4 часа




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 38 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 12 июл 2011, 17:45 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
=DeaD= писал(а):
PS: Кольцевой буфер так и не поняли, что такое? :crazy:

и такому склочнику дают права модератора :(
не переживай, когда-нибудь до тебя дойдет, что кольцевой буфер в синхронном режиме есть регистр сдвига
просто тебе на это надо больше времени...

=DeaD= писал(а):
когда роботу нужно остановиться, освободить всю память под какое-нибудь "простенькое" распознавание речи, выполнить распознавание, затем загрузить снова "в память" таблицу переменных под сервы и двинуться вперед

и в этот момент надо было щевельнуть сервой, чтоб не потерять равновесие

"Папа, расскажи, что такое многозадачность? погоди сынок, дискету доформатирую..." :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 12 июл 2011, 18:45 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
2Dmitry__, я не склочничаю, я намекаю: вы прежде чем дальше обвинять меня в непонимании основ программирования, сначала с кольцевым буфером разберитесь, чем он принципиально от сдвигового регистра отличается. Подсказка - сдвиговый регистр выполняет одну операцию за время O(N), а кольцевой буфер за O(1), где N - количество элементов в буфере или в регистре, да и сами типовые операции у них разные.

Добавлено спустя 1 минуту 12 секунд:
Dmitry__ писал(а):
и в этот момент надо было щевельнуть сервой, чтоб не потерять равновесие

Это классика демагогии - придумать к задаче дополнительное условие и сузить круг решений.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 12 июл 2011, 22:24 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
=DeaD= писал(а):
я не склочничаю, я намекаю: вы прежде чем дальше обвинять меня в непонимании основ рограммирования, сначала с кольцевым буфером разберитесь

ты именно склочничаешь, т.к. из незаконченного спора, по твоей же причине (тяжелый случай), делаешь односторонние выводы, докажи свою правоту, потом умничай.
С чего ты взял, что я тебя обвиняю в непонимании основ программирования?
Думаю, си я знаю хуже тебя...
Про фир тут продолжим?
=DeaD= писал(а):
Подсказка - сдвиговый регистр выполняет одну операцию за время O(N), а кольцевой буфер за O(1), где N - количество элементов в буфере или в регистре

Ну, напиши формулы для получения данных с сдвигового регистра и кольцевого буфера для фир, например, с 3-го и 5-го звена :)
=DeaD= писал(а):
Это классика демагогии

я не считаю это демагогией, твой пример слишком примитивен, и нужен только для оправдывания.
Посмотри на свой аватар, на название форума :)
нам же не нужны роботы как в мультфильме про роботов с планеты "Железяка" : спасибо , что пришли, кваа :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 13 июл 2011, 08:26 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Dmitry__ писал(а):
ты именно склочничаешь, т.к. из незаконченного спора, по твоей же причине (тяжелый случай), делаешь односторонние выводы, докажи свою правоту, потом умничай.

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

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

Dmitry__ писал(а):
Думаю, си я знаю хуже тебя...

С каких это пор знание синтаксиса конкретного языка стали приравнивать к основам программирования? А что, базовые структуры данных, алгоритмы, методы отладки, оценку времени выполнения программы и т.п. - уже отменили?

Dmitry__ писал(а):
Ну, напиши формулы для получения данных с сдвигового регистра и кольцевого буфера для фир, например, с 3-го и 5-го звена :)

Полёт фантазии был безграничен! В фир нету задачи получить данные с 3 и 5 элемента - там есть задача пробежаться по всем элементам массива. Опять придумал себе новую удобную задачу и предлагаешь мне её решать?

Dmitry__ писал(а):
я не считаю это демагогией, твой пример слишком примитивен, и нужен только для оправдывания.
Посмотри на свой аватар, на название форума :) нам же не нужны роботы как в мультфильме про роботов с планеты "Железяка" : спасибо , что пришли, кваа :)

Решать выдуманные только что самим собой задачи вместо поставленных - это отдельный вид спорта, я предпочитаю им не заниматься.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CodeVisionAVR - версия 2!
СообщениеДобавлено: 13 июл 2011, 09:39 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
=DeaD= писал(а):
Решать выдуманные только что самим собой задачи вместо поставленных - это отдельный вид спорта, я предпочитаю им не заниматься.


Да ладно бы кто-то их нормально ставил и решал. Пустая болтовня.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Про кольцевой буфер
СообщениеДобавлено: 13 июл 2011, 09:43 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Так там нормальная в целом была задача - создать в памяти массив, использовать, а потом освободить память. Вместо этого придумывается задача про терминатора из будущего и утверждение, что настоящий кошерный терминатор должен в любую наносекунду рулить волшебными мега-сервами. И пофиг, что сигнал на реальную серву идёт всего 50 раз в секунду, а за эти 20мс скорее всего можно и заново создать все массивы.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Про кольцевой буфер
СообщениеДобавлено: 13 июл 2011, 10:38 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Нет нет, Dead, вы не понимаете... Это не нормальная задача - это всё детали реализации.
Почему это "создать в памяти массив"? А если я эту же задачу решу "не создавая", или "не в памяти", или "не массив".
Что значит "освободить", а если у меня памяти гигабайт, и меня ничуть не напрягает, что какой-то кусок занят?
И т.д.

Точно так же как вот те сишные тесты. Они ведь почему так убого себя на пиках ведут? Из-за того, что полностью описывают именно детали реализации, а вовсе не задачу. Фактически они пишут не "нужно выдать результат сложения пяти и семи", а "нужно сложить пять и семь, разместив числа в массиве, разместив массив в области локальных переменных, вызывая функцию сложения" и т.д. и т.п.
Как только эти условия убираешь, программа превращается в тривиальную - "выдать число 12".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Про кольцевой буфер
СообщениеДобавлено: 13 июл 2011, 10:47 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Какую "эту же" задачу?
Исходная задача звучит как "создать в памяти массив, поработать, освободить память". И всё.
Если бы задача была поставлена на другом уровне - она имела бы другое решение.

Надо сказать предположение "А если у меня гигабайт памяти?" я совсем не ожидал услышать в теме с названием CodeVisionAVR и при ответе на вопрос для конкретного ATMega128 с объемом оперативки всего в 4Kb.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Про кольцевой буфер
СообщениеДобавлено: 13 июл 2011, 10:55 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Вот и фиг-то - не задачи это. Это способы.
Давайте тогда поставим "задачу" сложить два числа, не используя память, или вытащить четвертый элемент стека :)

Добавлено спустя 1 минуту 8 секунд:
А отфильтровать ФИРом, например - это, я считаю, нормальная задача. В отличии от "отфильтровать, не используя кольцевой буфер"? например.


Последний раз редактировалось Michael_K 13 июл 2011, 10:56, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Про кольцевой буфер
СообщениеДобавлено: 13 июл 2011, 11:00 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Michael_K писал(а):
Точно так же как вот те сишные тесты. Они ведь почему так убого себя на пиках ведут? Из-за того, что полностью описывают именно детали реализации, а вовсе не задачу. Фактически они пишут не "нужно выдать результат сложения пяти и семи", а "нужно сложить пять и семь, разместив числа в массиве, разместив массив в области локальных переменных, вызывая функцию сложения" и т.д. и т.п.

Так разве не в том смысл, чтобы описывать языком программирования детали реализации? Нельзя же компилятору на вход просто давать дифференциальное уравнение и говорить "давай решай!" :)

Понятно, что есть смысл отдельно оценивать время выполнение стандартной программы на Си, а отдельно сравнивать специализированные решения этой же задачи, заточенные под этот МК\процессор. Как в OpenCV есть оптимизация под расширенные наборы инструкций процессора.

Добавлено спустя 4 минуты 5 секунд:
Michael_K писал(а):
Вот и фиг-то - не задачи это. Это способы. Давайте тогда поставим "задачу" сложить два числа, не используя память, или вытащить четвертый элемент стека :)

Есть такая теория - относительности... так вот - задачей может быть вообще "вспахать поле" :)
Для тестирования производительности МК конечно глупо сравнивать единичную операцию сложения 2 чисел :) только как это относится к временному размещению массива в памяти и кольцевому буферу - я не понял :)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Про кольцевой буфер
СообщениеДобавлено: 13 июл 2011, 11:00 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Цитата:
Так разве не в том смысл, чтобы описывать языком программирования детали реализации?

Смысл программирования - да.

А смысл бенчмарка как сравнения процов полностью теряется.


Последний раз редактировалось Michael_K 13 июл 2011, 11:01, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Про кольцевой буфер
СообщениеДобавлено: 13 июл 2011, 11:01 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Michael_K писал(а):
А отфильтровать ФИРом, например - это, я считаю, нормальная задача. В отличии от "отфильтровать, не используя кольцевой буфер"? например.

А я предлагал фильтровать не используя кольцевой буфер? :shock:

Добавлено спустя 37 секунд:
Michael_K писал(а):
А смысл бенчмарка полностью теряется. Непонятно, что сравниваем.

Очень даже понятно - время выполнения стандартного блока кода, написанного на языке высокого уровня :)

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Про кольцевой буфер
СообщениеДобавлено: 13 июл 2011, 11:02 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Я условно.

Добавлено спустя 1 минуту 7 секунд:
=DeaD= писал(а):
Michael_K писал(а):
А смысл бенчмарка полностью теряется. Непонятно, что сравниваем.

Очень даже понятно - время выполнения стандартного блока кода, написанного на языке высокого уровня :)

Дополнил выше "бенчмарка, как средства сравнения процов"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Про кольцевой буфер
СообщениеДобавлено: 13 июл 2011, 11:11 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Как средства сравнение процов - конечно нет :) для сравнения процов надо чтобы объем времени на чтение входа и выхода информации был несоизмеримо мал по сравнению с объемом вычислений в тестируемой задаче и надо снять ограничение на технические подробности решения задачи, разрешив использовать одинаковый набор алгоритмов и там и там, тогда получим сравнение именно процов на конкретной вычислительной задаче.

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Про кольцевой буфер
СообщениеДобавлено: 13 июл 2011, 13:00 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
=DeaD= писал(а):
Полёт фантазии был безграничен! В фир нету задачи получить данные с 3 и 5 элемента

да ты шо? возьми нулевые коэффициенты в 1,2,4 звеньюх :)
ты такуешь как тетерев :D


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 38 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 9


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO