реал тайм осы |
Ответить | Страница <1 1314151617 36> |
Автор | ||||||||||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 08 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 178 |
Опубликовано: 30 Октябрь 2003 21:38 |
|||||||||||||
Ну и какая разница - до начала компиляции или после ? Вот происходит у вас в темплейте деление на ноль - так это место ничем не найти, а если что-нибудь логическое - так это вообще полный улет. Например, хотим мы инициализировать наши датчики - клапана... а оно не закрывается/не работает - почему оно не работает с темплейтами разобраться невозможно.
За стандартизацию STL вешать надо на той же ветке, что и за темплейты и эксепшены (точнее, за воспевание работы с эксепшенами как стандарный подход)
Сейчас 2.9, как говорят, - уже не модно...народ переходит на 3.2 с чем-то там и переодически огребает проблемы.
Потому что однажды наступил на какие-то грабли. Наступил хорошо, но деталей уже не помню. Вроде грабли были системо-зависимые. Так что темплейты, в которых есть какие-либо зависимости от платформы, однозначно идут в дальний лес.
Если в одном месте убудет, то в другом - добавится. Если в юзерской части реализация короче, то в части инклудов длиннее. И экзешник тоже раздувается. А как известно - чем больше программа[текст программы], тем больше в нем количество ошибок - это прямо относится к надежности.
Чудес не бывает - процессор не может умножать и складывать числа быстрее чем он это делает. |
||||||||||||||
SY,
EK |
||||||||||||||
Действительный член Присоединился: 14 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 267 |
||||||||||||||
Мне сильно кажется, что весь предыдущий постинг написан не для того, что есть что сказать, а потому, что "прёт" сам факт сказать... А поэтому он заслуживает ответа только со скидкой на вероятность того, что всё-таки кажется...
Разница большая. Принципиальная! Но слишком объёмная, чтоб её обсуждать в форуме... Посмотрите Андрей Александреску "Современное проектирование на C++. Обобщённое программирование и прикладные шаблоны проектирования" - автор один из членов комитета по стандартизации C++... Прочитаете: стучите - обсудим ;-).
У меня не происходит в темплейте деление на ноль - вообще, не дело это - препроцессорным механизмам со значениями бодаться... Это может у вас "происходит в темплейте деление на ноль"? :D И вообще, что за болезненное отношение к "ошибке деления на ноль", раз 5-й уже упоминается... Это что? - самая страшная ошибка, с которой вам приходится встречаться? Спать не даёт? Тогда вам действительно не нужны template, STL, exeption...
"Возможно/невозможно" - это категории уже не из области template... "Разруха начинается не в сортирах..."(с) - ну, сами знаете где.
При изложении таких откровений, я бы безусловно советовал добавлять: "по моему скромному мнению"... - особенно обратить внимание на 3-е слово этой формулировки.
По поводу "говорят" - может вам сменить круг общения? ;-) По поводу "модно"... Вообще, все кто имеет касательство к IT, делятся на 2 большие категории: 1).исследуют то, что "модно", и поэтому постоянно "переходят": "...покой нам только снится..."(с); 2). ...делом занимаются. Мы об каком народе печёмся?
"Склероз - наилучшая из болезней: ничего не болит, и каждый день начинается с новостей"(с). Грабли, наверное, были того сорта, что "не использовал"? |
||||||||||||||
Действительный член Присоединился: 14 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 267 |
||||||||||||||
Теперь по 2-й части нашего марлизонского балета...
Точнее будет: А как известно - чем больше исходный текст программы, тем больше в нем количество ошибок - это прямо относится к надежности. Вот и я об том же... что текст в 4 раза короче - будет иметь в 4 раза (в худшем случае) частоту ошибок периода выполнения (очень важно! - не нужно мне долдонить про ошибки компиляции).
Чудеса тоже бывают... но, как учит закон термодинамики, 2-й, кажется - о-о-о-чень редко ;-). Но ускорение STL-реализаций происходит без вмешательства чудес. На то есть много (и даже очень много, чтоб все их перечислять в форуме) оснований. Многие их них отлично обсуждаются в переводе: Мейерс С. Эффективное использование STL. Библиотека программиста. - СПб.: Питер, 2002. Но есть и другие, связанные с особенностью задач обработки данных и управления: - обработка данных (блочных данных) часто делается циклических применением операций к данным. Традиционное решение: в цикле for применяеися функция обработки, которая в точку обработки передаётся своим указателем. STL решение: применение циклических алгоритмов STL, которым передаётся не указатель функции, а функтор (анонимный объект класса, в котором определена операция "()"). Так вот - второе решение практически всегда быстрее (от незначительных 40% до 3-7 раз, я проверял эти цифры!) за счёт того, что в этом случае компилятор имеет информацию и может значительно оптимизировать код. - а это уже совсем не так очевидно: очень часто в потоковой обработке экспериментальных данных (в той же цифровой обработке сигналов, но не только) - над потоком данных производится, часто не в один проход, некоторая предварительная "чистка", когда некоторые фрагменты потока должны быть квалифицированы как "запорченные" и выброшены... В традиционном решении у вас есть на выбор: а).уплотнять данные, перемещая большие объёмы на место устраняемых б).отмечать устраняемые данные "флагом"... а потом при многократных циклах обработки этот флаг - обходить. В STL решении, например list<X> - у вас нет этих проблем! И итоговый выигрыш с лихвой перекрывает потери на элементарных операциях, связанных с доступом к более сложной структуре. Проверено - на нескольких реальных задачах, имеющих практическую ценность - до 2-2.5 раз. |
||||||||||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 08 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 178 |
||||||||||||||
Я человек простой - от сохи. т.е. от станка. И мне все эти теоретические изыски мало волнуют.
Делать мне больше нечего - бред всякий читать. Будут отладчики поддерживать шаблоны (точнее, наверное, компиляторы поддерживать возможность отладки отладчиком в шаблонах) - тогда поговорим, а иначе - на ту же самую ветку.
Окей - не в темлейте, но вы меня поняли, да ?
вы меня с кем-то путаете - я про деление на ноль первый раз упомянул - и то, как о самой простой и легкоотлавливаемой ошибке
Это лирика. Покажите возможность онлайн на живом объекте и риалтайм отладки кода, который в темплейтах наворочен - тогда можно и про разруху.
У меня мнение - уже не скромное. И волос с головы в связи с вышеуказанным повыпадало достаточно. И про надежность, которую вы так любите вспоминать, думал неоднократно - в том числе в связи с темплейтами и эксепшенами. С эксепшенами я видел программу, у которой на них строилась вся система работы с памятью. В итоге все работало замечельно, но невозможно было отловить ошибки general protection fault (поскольку при этом программа залетает в обработчик эксепшена и в нем выполняет malloc/realloc ), которые при обычном подходе в отладчике отлавливаются элементарно. Авторы это не
говорят - разработчики не одного проекта с соусфорджа. И не только оттуда. Mesa, Squid, Autotrace, Bogofilter и другие. Этого мало ?
Грабли были при попытке портирования |
||||||||||||||
SY,
EK |
||||||||||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 08 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 178 |
||||||||||||||
Бред какой-то. Может таки у вас в кАнсерватории что-нибудь не так ? При любой разумной организации программы накладные расходы на вызов функций составляет доли процента от всего объема, использование inline (явное или неявное ) еще больше уменьшает. Использование STL в данном случае эквивалентно switch'у c кучей циклов for, в каждом из которых вызывается своя функция обработки. Вы скажете - вариант с STL - короче, а я скажу - что менее надежен и недоступен для отладчика.
Вы делаете мне смешно. добавьте в традиционное решение "в) использовать структуру данных "список"" и уже тогда сравнивайте его производительнось с вариантом на STL и уже тогда делайте выводы. Сравнивать быстродействие можно только для эквивалентных алгоритмов - что для STA специалиста должно быть так же ясно, как для физиков/конструторов знание о том, что киллограммы можно сравнивать только с километрами, но никак не секундами. |
||||||||||||||
SY,
EK |
||||||||||||||
Действительный член Присоединился: 14 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 267 |
||||||||||||||
Ясно. Навроде Льва Толстого... "Чукча не читатель - чукча писатель"(с).
Александреску - на сегодня один из основных идеологов развития С++, на него ссылаются, с ним координируются... Бред... Ну, давайте тогда Александреску посоветуем читать evgen-а? Нам то вдвоём с вами спорить и доказывать нечего - разговор слепого с глухим (кем вам больше нравится числиться ;-)). Единственный смысл этого - может кто 3-й почитает, и полезны ему окажутся ссылки, которые я называл...
Да не должен я, и не буду вам ничего "показывать"... И никому не должен. И никто вам ничего не должен. А то во многих форумах заладили, прямо модой стало: аргументы им давай, покажи... Вас для того, чтоб "аргументы и покажи" - в высшей школе и далее - учили чему? Вот и придумывайте сами... ;-) Я вот - использую и templates и STL, и жалею что раньше не использовал, и другим советую... Так же точно, как вы - не используете... Чего тут доказывать?
Этого - мало! Всё, что вы назвали, как одно - это всё универсальные, перепортируемые из одной OS в другую приложения... Для которых важно только одно - переносимость. Которые с ПО, работающим с оборудованием - никак не соприкасаются и близко... Так что пример - хорош! ;-)
... об чём и я. |
||||||||||||||
Действительный член Присоединился: 14 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 267 |
||||||||||||||
Ничего не могу сказать про кансерватории... Но я вам пересказал (собственно - не вам, вам оно не надо, может кому пригодится...) - достаточно очевидные и известные вещи: сначала я на это напоролся сам, а потом видел у Мэйерса и в ссылках на него... Т.е.: берём указанный букварь в руки - и читаем... Там всё очень доходчиво, по 3 раза повторено...
Я не делаю вам смешно - мне как-то делать вам смешно ... до фени... А вот то, что вы пишете - я вот это когда-то и делал, до поры до времени. Только то, что вы пишете - это и есть "ручная" реализация STL буква в букву, с той лишь разницей, что на 1 строку приложения STL-реализации - приходится 20-25 строк "ручной реализации" (о чём говорилось выше)... А по сути - это абсолютно одно и то же, поэтому именно эту реализацию я и не сравнивал. "Масло маслянное". С той ещё разницей, что в "ручной" реализации вы ещё наделаете своих ошибок кучу, а эффективность её будет существенно хуже... |
||||||||||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 08 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 178 |
||||||||||||||
да не надо ничего доказывать - рано или поздно сами встанете на эти грабли.
Привер хорош! Только он показывает насколько вы глубоко в танке сидите. Mesa уже давно с железом работает. |
||||||||||||||
SY,
EK |
||||||||||||||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 08 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 178 |
||||||||||||||
Ктож вам доктор, если вы в 25 строках делаете кучу ошибок - то вам тогда вообще программированием заниматься противопоказано. При большом умении можно в и одной строке STL-реализации наделать кучу ошибок. И потом долго и упорно искать где она происходит. |
||||||||||||||
SY,
EK |
||||||||||||||
Действительный член Присоединился: 14 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 267 |
||||||||||||||
Вы вообще - читаете то, на что отвечаете? ...на 1 строку - 25, ...на 10 - 250, ...на 100 - 2500 ... Помните, в 6-м классе средней школы проходили... "пропорции"? Пренепременно повторить! |
||||||||||||||
Ответить | Страница <1 1314151617 36> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |