wsd Вроде бы я слышал что вполне есть "трейдеры" которые суть софт который в реальном времени следит за малейшими отклонениями цены и тут же что-то покупает и продает. Маржа минимальна но и ставок такой софт делает не одну в час. Так что вполне возможно что они бы хотели даже лучше чем 0.1мс и пошаговая стратегия по переписке от .NET их не устраивает. Да, попробую спросить.
Booster А в чем заключается его ограниченность? green Ага, а когда это неудается, возникает лютый баттхерт, и во всем виноват оказывается C++
Booster IMHO, это скорее обусловлено ограниченностью числа разработчиков, способных написать качественную библиотеку на С++.
PSR1257 Это из сображений производительности приложения что ли? Вот честно, никогда не понимал, почему С считается более быстрым языком. Пожалуй только потому, что более продвинутые средства инкапсуляции С++ делают не такой очевидной связь между эффективностью кода и его внешним видом.
Хочется поговорить об этом? Тролтехи к примеру не просто так ввели свои расширения. С++ сильно завязан на физическую организацию(h, cpp), почти нет интроспекции, интерфейсы отсутствуют. Да много чего в нём не идеально.
Код с использованием ООП всегда будет хоть немного да и медленнее, чем код без него. Хотя я не предлагаю закапывать ООП - это вещь очень нужна и полезная. Но если счёт идёт на миллисекунды от него следует отказаться. А поскольку .NET и Java следуют принципу "всё есть объект" они никогда не смогут обогнать по скорости исполнения качественный код на чистом Си.
KIV <<Код с использованием ООП всегда будет хоть немного да и медленнее, чем код без него. <<Но если счёт идёт на миллисекунды от него следует отказаться. С чего бы это вдруг от ООП отказываться? У меня ядро кластеризации с использованием ООП реализовано(было требование именно Си++).Среднее время отработки ядра - 412микросекунд. Прекрасное время получилось,которое снято использованием Гига памяти и одного ядра Core2Duo. Если вам необходимо, чтобы обработка происходила за очень крошечный интервал времени, можно реализовать ее аппаратно на ПЛИСине или DSPшнике. КИХ-фильтрация и БПФ на бабочках,там практически мигом выполняться будет. И кроме того Вы получаете огромный плюс, точное предсказуемое время реакции и время обработки.
По причине того, что помимо самого нашего алгоритма ресурсы тратятся ещё на косвенный вызов из таблицы методов объекта, вызов унаследованных функций, счётчики ссылок (при использовании сборщика мусора). Я не говорю, что скорость падает в разы, но всё же. Также я не говорю, что ООП не нужен. Он очень нужен. Но код на чистом Си будет быстрее, если его качественно написать.
KIV Почему? Можете привести пример? IMHO, в случае С++ - как раз наоборот. Выражение программы более богатыми средствами языка даёт больше информации оптимизатору (например, виртуальные вызовы в C++ могут оптимизироваться лучше, чем просто косвенные вызовы в С). Конечно, при условии адекватного использования.
KIV А Вы уверены, что в С Вам не придётся реализовать те же косвенные вызовы, унаследованные ф-ции и счётчики ссылок, но только явно, самодельным кодом, замутняя код сущностями, которыми без потери эффективности может управлять компилятор?
Вы можете сами убедиться в QNX Application Profiler, что на это тратится мизерная доля процента процессорного времени. Основное время кушает логика алгоритма, которую и надо стараться оптимизировать, а обращать внимание на такие мелочи вовсе не стоит.
Хотя мне и нравится C++ (хотя в принципе эти языки очень близки), тем не менее C все же быстрее будет, речь идет о действительно мизерном времени, тем не менее оно есть. И здесь нет ничего удивительного ведь C++ и строился исходя из идеи совместить полезные возможности Симулы и практически не потеряв ничего в скорости. Если бы C# сделал бы тоже самое я был бы обеими руками за него.
Мне кажется, это все бессмысленный холивар. Такие языки тоже имею право на жизнь. А может быть на другом форуме кто-то обсуждает, как мол можно в наше время писать на Асме, это же дикость и мазохизм играться с регистрами и прописывать отображение окна. Сам я не пишу на Си шарп, но не вижу в нем ничего плохого. Сейчас все таки не то время, когда надо экономить такты и регистры, имхо можно позволить и ООП, и таскать за собой кучу библиотек. Единственное удивляет, когда на С# пишут малварь, вот это уже точно перебор и дурость. Хотя может в скором времени это станет нормой.
ну в манукале к студии 2010 ))))) я еще вычитал о новых морфизмах в языке с++, както - лямбда функции, новый принцип применения класса auto, триграфы и так далее. чтоже получается? мс на своей платформе вольготно извращает стандарт лучшего на данный момент языка в истории программирования?! и кстати я считаю дело не в том полезны ли они - как один товарищ заметил - по поводу оптимизации. вот это уже, простите, дзен. это уже гармония написанного исходника с машинным кодом. но ведь на си это доступнее даже чем пиво в холодильнике. а другие языки? вм? там свои бонусы - что проще состыковывать код, но чтобы это говорило о какомто перфомансе в плане быстроты и безошибочности. нет. не могу поверить хоть и ощущаю присутствие таких кодесов)