Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Зачем нужен С++?

Автор Алексей Гринь, июля 9, 2009, 21:46

0 Пользователи и 1 гость просматривают эту тему.

GaLL

Цитата: Алексей Гринь от июля  9, 2009, 21:46
Си-вариант выполнился за 5437 мс, Си++-вариант — за 5641. Т.е. скорость Си++ продувает по скорости на 200 мс, то бишь на 3.6% Можете, конечно, отмазываться, мол, std::cout там реализован мелденно, я мухлюю, бла-бла-ба, но мне плевать. Может быть завтра сделаю другой тест, щас в лом.

Кто ж консольным выводом скорость тестирует? :green:

злой

Я именно что шлепаю окошки. Это мой уровень -  я не программер. Но если в  конторах делают выбор в пользу той же Java или Шарпа, это говорит о том, что это ЭКОНОМИЧЕСКИ выгодно. Не спорю, что, возможно, где-то есть конторы "бест оф дзе бест", где люди в силу своей квалификации могут писать на чем-то другом и добиваться немыслимых результатов.

Цитата: Алексей Гринь от июля  9, 2009, 22:30
Я вон читал, писали игру. Рендеринг одно сложного кадра длился вроде бы 20 мс. Они убрали все с++ диспатчинги виртуальных методов, заменили на энумы, ещё что-то подчистили... В общем убрали все цэпэпэшные надстройки. В итоге реденринг стал занимать по времени 2 мс.

Небось еще инлайнов натыкали...
Entre los individuos, como entre las naciones, el respeto al derecho ajeno es la paz.   - Benito Juárez

Алексей Гринь

Цитата: злой от июля  9, 2009, 22:12
Однако софт для ядерных реакторов или такие вещи, как Oracle энтузиасты писать не будут - делать им нечего.
Многие ядерные реакторы, к слову, используют ОС QNX. Открыта в 2007 году под open source. Правда, для коммерческого пользования нужно купить лицензию. Но авторы — энтузиасты-красноглазики.

Цитата: GaLL от июля  9, 2009, 22:32
Кто ж консольным выводом скорость тестирует? :green:
Так задумано. Вообще какая разница, какие методыдёргать? Или вы хотите, чтобы я дёргал выгодные для С++. которые оптимизированы? А невыгодное игнорировать? :D

Цитата: злой от июля  9, 2009, 22:34
Небось еще инлайнов натыкали...
Как натыкаешь инлайны там, где нужна виртуализация методов (скажем,100 объектов 10 разных классов, реализующих интерфейс Drawable::draw())?
Тут инлайном не заткнёшь.
Енто токмо JITter'ы умеют.
肏! Τίς πέπορδε;

злой

Цитата: Алексей Гринь от июля  9, 2009, 22:37
Цитата: злой от июля  9, 2009, 22:12
Однако софт для ядерных реакторов или такие вещи, как Oracle энтузиасты писать не будут - делать им нечего.
Многие ядерные реакторы, к слову, используют ОС QNX. Открыта в 2007 году под open source. Правда, для коммерческого пользования нужно купить лицензию. Но авторы — энтузиасты-красноглазики.

Пруфлинк или извиниться.
Entre los individuos, como entre las naciones, el respeto al derecho ajeno es la paz.   - Benito Juárez

Алексей Гринь

肏! Τίς πέπορδε;

злой

ЦитироватьУправление ядерным реактором. Одно из отделений канадской компании Atomic Energy of Canada Ltd., которая известна как разработчик, производитель и продавец ядерных реакторов, специализируется на разработке программных продуктов по управлению и мониторингу. На основе операционной системы реального времени QNX этим отделением разработана система управления ядерным реактором, которая называется «Распределённая Система Управления с Открытой Архитектурой» (Open Architecture Distributed Control System).

isco Systems использует оптимизированную версию микроядра операционной системы реального времени QNX Neutrino в программном обеспечении IOS XR. Программный пакет IOS XR предназначен для управления коммутаторами Cisco CRS-1, обеспечивает непрерывный режим работы и поддерживает развитые функции управления терабитными коммутаторами с распределённой архитектурой.


Вот, красноглазые, скорее всего даже талантливые робяты накропали, а потом НА ОСНОВЕ их труда кто надо за хорошие деньги подогнал и доработал их творение для выполнения конкретной задачи.

XR - это круто, поверьте на слово.
Entre los individuos, como entre las naciones, el respeto al derecho ajeno es la paz.   - Benito Juárez

myst

С++ можно любить, C++ можно ненавидеть, но к нему нельзя остаться равнодушным. :)

Алексей Гринь

Цитата: злой от июля  9, 2009, 22:46
Вот, красноглазые, скорее всего даже талантливые робяты накропали, а потом НА ОСНОВЕ их труда кто надо за хорошие деньги подогнал и доработал их творение для выполнения конкретной задачи.
Вы судите, не зная сколько там и чего наоптимизировано. Как-то слабоаргументированно. В любом случае робяты рубят баблос. Что не устраивает? Не это ль камень краеугольный?
肏! Τίς πέπορδε;

myst

Цитата: злой от июля  9, 2009, 22:46
Одно из отделений канадской компании Atomic Energy of Canada Ltd., которая известна как разработчик, производитель и продавец ядерных реакторов, специализируется на разработке программных продуктов по управлению и мониторингу. На основе операционной системы реального времени QNX этим отделением разработана система управления ядерным реактором, которая называется «Распределённая Система Управления с Открытой Архитектурой» (Open Architecture Distributed Control System).
Про QNX знаю, но сомневаюсь, что она именно управляет реактором. Мониторинг, то, сё — это ещё ладно, но двигать стержни? :uzhos:
Я думаю, этим занимается железо, N раз продублированное.

злой

Цитата: Алексей Гринь от июля  9, 2009, 22:49
Цитата: злой от июля  9, 2009, 22:46
Вот, красноглазые, скорее всего даже талантливые робяты накропали, а потом НА ОСНОВЕ их труда кто надо за хорошие деньги подогнал и доработал их творение для выполнения конкретной задачи.
Вы судите, не зная сколько там и чего наоптимизировано. Как-то слабоаргументированно. В любом случае робяты рубят баблос. Что не устраивает? Не это ль камень краеугольный?

Рубят бабосы не красноглазые, а те, кто проект реализует. Вот, для OS X взяли ядро FreeBSD - кто срубил бабло? Те, кто реализовывал под OS X.

Если прямым текстом написано - программа, написанная на основе QNX управляет реактором, то тут как можно иначе толковать?

Все это к тому, что красноглазость и голый энтузиазм к реальным деньгам имеет опосредованное отношение. Допустим, даже для реактора писали программу те же красноглазые, что создавали QNX как поделку - сколько их таких? Скольким перепадает в процентном отношении? А когда человек сидит в конторе и пишет очередной режим на Шарпе, он имеет стабильную копейку. Глядишь, еще и зарплату поднимут, если себя хорошо проявит.
Entre los individuos, como entre las naciones, el respeto al derecho ajeno es la paz.   - Benito Juárez

Алексей Гринь

Цитата: myst от июля  9, 2009, 22:51
Я думаю, этим занимается железо
В любомслучае железом управляет программа-прошивка, а не само железо.
QNX это embedded-система реального времени, известная за свою 100% надёжность и безотказность. Эта ОС встраивается в качестве прошивки в разное техническое обородуавние, это те не виндовс с окошками. Если ты думаешь, типа, QNX может сглючить на ядерном реакторе и тогда всем капец, что чего то же самое не думаешь на дефольтную прошивку написанную незнай кем?
肏! Τίς πέπορδε;

злой

Цитата: Алексей Гринь от июля  9, 2009, 22:57
Цитата: myst от июля  9, 2009, 22:51
Я думаю, этим занимается железо
В любомслучае железом управляет программа-прошивка, а не само железо.
QNX это embedded-система реального времени, известная за свою 100% надёжность и безотказность. Эта ОС встраивается в качестве прошивки в разное техническое обородуавние, это те не виндовс с окошками. Если ты думаешь, типа, QNX может сглючить на ядерном реакторе и тогда всем капец, что чего то же самое не думаешь на дефольтную прошивку написанную незнай кем?

Там логические микросхемы. Не 155-й серии. Аппаратно реализованная логика И-НЕ.
Entre los individuos, como entre las naciones, el respeto al derecho ajeno es la paz.   - Benito Juárez

myst

Цитата: злой от июля  9, 2009, 22:56
Если прямым текстом написано - программа, написанная на основе QNX управляет реактором, то тут как можно иначе толковать?
to control толковать можно по-разному: от слежения за параметрами до управления. Цитата попахивает рекламой.

Алексей Гринь

Логические хсхемы — та же программа. Их делают те же люди. И в них тоже могут ошибиться и тада всем капец.
肏! Τίς πέπορδε;

myst

Цитата: Алексей Гринь от июля  9, 2009, 22:57
В любомслучае железом управляет программа-прошивка, а не само железо.
Жёсткую логику никто не отменял. И в реакторе ей самое место. :)

злой

Цитата: Алексей Гринь от июля  9, 2009, 23:01
Логические хсхемы — та же программа. Их делают те же люди. И в них тоже могут ошибиться и тада всем капец.

2000 раз испытать перед внедрением и капец атменяется.
Entre los individuos, como entre las naciones, el respeto al derecho ajeno es la paz.   - Benito Juárez

myst

Цитата: Алексей Гринь от июля  9, 2009, 22:57
QNX это embedded-система реального времени, известная за свою 100% надёжность и безотказность. Эта ОС встраивается в качестве прошивки в разное техническое обородуавние, это те не виндовс с окошками. Если ты думаешь, типа, QNX может сглючить на ядерном реакторе и тогда всем капец, что чего то же самое не думаешь на дефольтную прошивку написанную незнай кем?
Я в курсе, что такое QNX (:tss: у меня есть 4-ка и ранняя 6-ка, Нейтрино которое). Это Нейтрино (его давали пощупать в году эдак 2001 всем желающим) было влажновато. Надеюсь, в атомных станциях не оно. :3tfu:

myst

Да, кстати, если мне память не изменяет, 4-ка работает только на IA-32 со всеми вытекающими отсюда следствиями.

RawonaM

Кто-то сказал что-то в духе: Языки типа С создавались для экономии дорогих ресурсов компьютера. Когда эти ресурсы стали дешевыми, стали создаваться языки для экономии дорогих ресурсов человека — программистов. Имеются в виду конечно языки типа Python, PHP, но С++ был одним из этапов между этими крайностями.
Гринь вроде как говорил, что в корне испорчен ООП, но что-то этого не видно. Есть хотя бы такое понятие как инкапсуляция, которую в С он предлагает воплотить как "раз залез туда не куда надо — сам дурак". Для С++ скорость не на столько важна, сколько ООП, поэтому сравнивать по параметру скорости некорректно.

myst

Цитата: RawonaM от июля 10, 2009, 06:36
Имеются в виду конечно языки типа Python, PHP
Удавчик ладно, но PHP... :uzhos:

myst

Цитата: RawonaM от июля 10, 2009, 06:36
Для С++ скорость не на столько важна, сколько ООП, поэтому сравнивать по параметру скорости некорректно.
Не-не, очень даже важна. Поэтому там есть возможность выбирать между виртуальными методами (с диспетчеризацией) и статическими, например. Вообще, я пописываю на С++, так как на C99 микрософтовские разработчики полностью забили. Правда, обычно только C-образное подмножество использую. Нормально. Exe'шник размером с килобайт больше ни на чём, кроме асма, не написать. :)

RawonaM


myst

Цитата: RawonaM от июля 10, 2009, 17:32
Однако не так, как в С.
В C++ есть все средства, какие есть в C. Использовать только их или дополнительные плюшки —  дело программиста. И это как раз сильное качество C++. Оно же его проклятие. :)

RawonaM

Цитата: myst от июля 10, 2009, 17:37
В C++ есть все средства, какие есть в C. Использовать только их или дополнительные плюшки —  дело программиста. И это как раз сильное качество C++. Оно же его проклятие. :)
Ну так а кто ж спорит? Но если ты используешь дополнительные средства С++, то не ожидай, что они будут работать по той же примитивной системе, что и в С. ООП гораздо более сложная система, она по определению не может быть настолько низкоуровненной, как С. Соответственно и скорость и размер несопоставимы.

myst

Цитата: RawonaM от июля 10, 2009, 17:41
Но если ты используешь дополнительные средства С++, то не ожидай, что они будут работать по той же примитивной системе, что и в С.
В общем-то, про накладные расходы, связанные с виртуальными функциями, жужжат наверное в каждом учебнике по C++. Поэтому сюрприза быть не должно. :)

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр