Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Использование готовых алгоритмов vs написание своих, Какая-то критика C++ 
:(
    Опции темы
MAKCim
Дата 6.2.2009, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



на самом деле я согласен с W4FhLF

Цитата(W4FhLF @  6.2.2009,  06:49 Найти цитируемый пост)
Думаю, что для разработки высокопроизводительных приложений важно не знание асма, сколько знание архитектуры и основных принципов работы процессора (что, в прицнипе, подразумевает знание ассемблера в какой-то степени). При этом знание ассемблера совершенно не подразумевает знание архитектуры. 


т. к ассемблер - самый обычный ЯП, хоть и низкого уровня
он проще и С, и уж тем более С++
знание ассемблера - не есть критерий кругозора
важно уметь к месту и с пользой _применять_ определенный инструмент
язык сам по себе ничто, окружение (на любом уровне абстракции) - решает

Добавлено через 7 минут и 16 секунд
Цитата(GoldFinch @  5.2.2009,  20:57 Найти цитируемый пост)
ГУЙ для ДОС когда у тя может быть не более 10 64Кб сегментов памяти

unreal mode? ;)


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
GoldFinch
Дата 6.2.2009, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: нет
Всего: 26



MAKCim, 640Кб памяти под ОС+софт - 10 сегментов по 64Кб...
PM MAIL ICQ   Вверх
MAKCim
Дата 6.2.2009, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



GoldFinch
это понятно
я к тому, что есть unreal mode


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
W4FhLF
Дата 6.2.2009, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



Цитата(Lazin @  6.2.2009,  08:56 Найти цитируемый пост)
В общем, корректную программу сделать быстрой легко, а быструю корректной - сложно. (не помню чьи это слова)


Я согласен. 

Основные узкие места должны быть продуманы ещё на этапе проектирования. И именно здесь необходим широкий кругозор, чтобы правильно оценить "узость" этих мест. Допустим я сразу знал, что работа с матрицами -- узкое место моего проекта, но первые варианты класса Matrix вообще никакой оптимизации в себя не включали. В таком виде проект был доведён до первой стабильной версии, а далее уже кое-что оптимизировано. Но использование низкоуровневых средств языка для оптимизации в общем случае я считаю злом.

Добавлено через 1 минуту и 52 секунды
Цитата(MAKCim @  6.2.2009,  09:38 Найти цитируемый пост)
знание ассемблера - не есть критерий кругозора


Более того, это зачастую на первых парах мешает. Потому что заставляет часто думать о технических деталях, вместо того, чтобы сосредоточиться на проблеме и мыслить абстрактыми сущностяим.


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
neutrino
Дата 13.2.2009, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: нет
Всего: 62



Гмм... делетанты, неделетанты...

При поиске элемента в векторе, в каждой итерации вектор делает только одну проверку. Какую именно и как это реализовано?

Если бы вы писали СТЛ::вектор, то писали бы также?

Добавлено через 3 минуты и 37 секунд
Цитата(MAKCim @  6.2.2009,  08:38 Найти цитируемый пост)
знание ассемблера - не есть критерий кругозора
важно уметь к месту и с пользой _применять_ определенный инструмент
язык сам по себе ничто, окружение (на любом уровне абстракции) - решает

Угу. Желательно знать как в конкретном камне реализованы бранчи, кэш, пайпы. Тогда можно сделать очень качественный рескеджулинг. Правда компилятор сделает эту же работу с 70-80% успеха. Стоит оно того?


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
GoldFinch
Дата 16.2.2009, 14:10 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: нет
Всего: 26



Цитата(neutrino @  13.2.2009,  13:12 Найти цитируемый пост)
При поиске элемента в векторе, в каждой итерации вектор делает только одну проверку. Какую именно и как это реализовано?

вот возьми и посмотри как это реализовано, както кроме if Xi=Y на ум больше ниче не приходит, что еще можно проверять, развечто if f(Xi)=f(Y)

а СТЛ::вектор я бы не писал, потомучто мне вообще непонятен синтаксис этой части С++, зачем надо юзать два двоеточия и угловые "скобки"

Цитата(neutrino @  13.2.2009,  13:12 Найти цитируемый пост)
компилятор сделает эту же работу с 70-80% успеха.

только не везде вообще нужна такая оптимизация, а там где нужна компилятор накосячит в других очевидных местах, например будет пихать в стек float'ы через стек сопроцессора

PM MAIL ICQ   Вверх
Любитель
Дата 16.2.2009, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 5
Всего: 92



Цитата(GoldFinch @  16.2.2009,  14:10 Найти цитируемый пост)
зачем надо юзать два двоеточия и угловые "скобки"

Убило smile 


--------------------
PM MAIL ICQ Skype   Вверх
nerezus
Дата 16.2.2009, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 13
Всего: 43



Цитата

 зачем надо юзать два двоеточия и угловые "скобки"
 Ну типа программы писать... но это для программистов, остальным это делать не надо.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
GoldFinch
Дата 16.2.2009, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: нет
Всего: 26



почему-то в С++ есть . :: -> ,а в vba и делфи только .
что же удобнее?

насчет удобства шаблонов, цитата из википедии
Цитата
Spirit — одна из наиболее сложных частей Boost, предназначенная для написания парсеров напрямую в C++ тексте программы в виде близком к форме Бэкуса-Наура.

Код
bool parse_numbers(const char* str, vector<double>& v)
{
   return parse(str,
       //  начало грамматики
       (
           real_p[push_back_a(v)] >> *(',' >> real_p[push_back_a(v)])
       )
       ,
       //  конец грамматики
       space_p).full;
}


" real_p[push_back_a(v)] >> "  - это называется удобный синтаксис??
PM MAIL ICQ   Вверх
vinter
Дата 16.2.2009, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 1
Всего: 56



Цитата(neutrino @  13.2.2009,  14:12 Найти цитируемый пост)
При поиске элемента в векторе, в каждой итерации вектор делает только одну проверку.

ну на самом деле у вектора нет никакого поиска, поиск есть в алгоритмах. Если я не ошибаюсь, то по стандарту он должен сравнивать  по ==.

Цитата(GoldFinch @  16.2.2009,  15:10 Найти цитируемый пост)
както кроме if Xi=Y на ум больше ниче не приходит, что еще можно проверять, развечто if f(Xi)=f(Y)

ну почему же, есть еще проверка на эквивалентность. Которая используется в ассоциативных массивах.
!( x < y ) && !( x > y )

GoldFinch, какое то странное использование спирита, на хабре есть более удачный пример.

Это сообщение отредактировал(а) vinter - 16.2.2009, 17:53


--------------------
Мой блог
PM MAIL WWW   Вверх
neutrino
Дата 16.2.2009, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: нет
Всего: 62



Цитата(vinter @  16.2.2009,  16:52 Найти цитируемый пост)
ну на самом деле у вектора нет никакого поиска, поиск есть в алгоритмах. Если я не ошибаюсь, то по стандарту он должен сравнивать  по ==.

Uгу, вот именно эту проверкu оn i делаетsmile Bез проверки, дошел оn дo концa или нет.


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
nerezus
Дата 16.2.2009, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 13
Всего: 43



Цитата

почему-то в С++ есть . :: -> ,а в vba и делфи только .
что же удобнее?
 Ну как бы -> юзать никто не заставляет - это лишь аналог *.
А аналогов :: нету, насколько помню.


Хотя мне самому это не нравится =\


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
vinter
Дата 16.2.2009, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 1
Всего: 56



Цитата(neutrino @  16.2.2009,  19:09 Найти цитируемый пост)
Bез проверки, дошел оn дo концa или нет.

есть проверка, если элемент не найден возвращается last iterator


--------------------
Мой блог
PM MAIL WWW   Вверх
neutrino
Дата 16.2.2009, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: нет
Всего: 62



Цитата(vinter @  16.2.2009,  17:13 Найти цитируемый пост)
есть проверка, если элемент не найден возвращается last iterator

Gмм... Pо-моему проверки тo каk раз нет i POJETOMU возвращается ласт_итератор. Kаk сделат' просмотр массива быстрым. Pоставить искомыj элемент в конец и сканироват' пока не нашел. Tаким образом не надо провеят' вышеl ты за границы массива или нет. A с другой стороны всегда есть индиация того nашел ли ты искомый элемент или нет.

Zвиняйте за транслит. Iз-под оперы пшу. Ет' еще конкуеррор, но в неm тоже транслиt не пашеt.


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
vinter
Дата 16.2.2009, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 1
Всего: 56



neutrino, че то я тебя не понимаю, как по твоему он может вернуть последний итератор, если у него нет проверки? при отсутсвии проверки был бы ексепшн
Цитата(neutrino @  16.2.2009,  19:26 Найти цитируемый пост)
Pоставить искомыj элемент в конец и сканироват' пока не нашел

класно, а если для вставки понадобиться перераспределение памяти? Да и это в корне не правильно, так использовать немодифицирующий алгоритм.

Добавлено через 1 минуту и 50 секунд
реализация msvc
Код

_InIt _Find(_InIt _First, _InIt _Last, const _Ty& _Val)
    {    // find first matching _Val
    _DEBUG_RANGE(_First, _Last);
    for (; _First != _Last; ++_First)
        if (*_First == _Val)
            break;
    return (_First);



--------------------
Мой блог
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.0923 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.