<HELP> for explanation

Блог им. AUR1S

Самый шустрый язык программирования

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

Победила реализация Фортрана от Intel. Приблизиться к ней не смог вообще никто, даже GNU C и GNU C++ (и что еще более удивительно, чистый Си немножко проиграл «плюсам»). 
На четвертом месте язык Applied Type System, про который я к стыду своему слышу в первый раз. Представляет он систему автоматического доказательства теорем, расширенную средствами прикладного программирования. Почему так шустр, даже не знаю, но активно применяется для системного программирования. 

Пятое место давно шлифуемой Ada немудрено, а вот 6-7-е места Java — отличный аргумент против унылого мнения «java тормозит». 

Даже Pascal и C# Mono сильно от Java отстают, в полтора-два раза! В отношении Паскаля это совсем странно. Причина, видимо, в активно развивающихся промышленных технологиях оптимизации кода, ориентированных на поддержку в первую очередь виртуальных машин. 

Довольно быстро работают функциональные Lisp и F#, относительно несильно отстает и JavaScript. А вот классические скрипт-языки Lua, Ruby, Python и PHP тормозят уже в 30-50 раз. 

Резюме. 
Если пишем под линуху нагрузочную математическую прогу — однозначно Фортран. 
Если обычная логика — Си/С++. 
Специализированные и встраиваемые системы — ADA. 
Низкоуровневый системный код — ATS. 
Корпоративные системы — Java. 
Что-то легковесное-скриптовое — JavaScript. 
(Ассе́мблера почемута нет в списках — №1 по производительности)
Материал с сайта: http://www.pcweek.ru/idea/blog/idea/2329.php
 

Мои «тяжелые» алгоритмы (арифметика) при переходе с LUA (QUIK, режим интерпретации) на С++ (DLL) ускорились в 30 раз. Ассемблер на моих формулах уже не помог бы. Выжимать уже нечего.
Кроче, С/С++ по скорости хватит везде и за глаза.  А Python Секрета — вообще тормоз :)
avatar

vito2000

vito2000, он же говорит что на дельфи программирует. врёт штоле?
avatar

ПBМ

Ассемблера нет в списках, потому что это по сути тесты компиляторов на этапе перевода ЯВУ в ассемблер =). То есть тест отвечает на вопрос: насколько хорошие конструкции кода на ассемблере может строить компилятор из своего ЯВУ.

Паскаль/дельфи/сбилдер проигрывает закономерно. Кто видел в дебагире или дизассемблере код из борландовского компилятора (а он у них один на все языки по сути), тот знает какой это тихий ужас с точки зрения оптимизации.

Ява обходит, потому что мой друг приложил руку =))). Он лично писал всю оптимизацию под 64-битные AMD и Intel, а до этого работал над x86 для компилятора Оракал (его код реюзали по полной).

В целом это всё очень бредовые тесты… И вообще, причём тут трейдинг? =)
Fry (Антон), фигасе, друг какой молодец.
А нельзя ли у него компилятором разжиться?
Йоганн, корпоративный продукт. Я его спрашивал, мол что да как, в чём изюм. Он сначала отмалчивался, говорил, типа, да кому он нужен, наш компилятор, так — для внутреннего пользования, а потом я догадался (ну связать-то не трудно Оракл > Ява) и он раскололся и объяснил суть своей работы.

Живёт в Питере, работает аутсорсом. Биржу презирает. Гнилое это дело, говорит =)
Кодом не делится, но зато подарил на ДР офигенную книгу — Алгоритмы: построение и анализ. Фундаментальная вещь! Правда, очень тяжёлая, в смысле больше 3кг =(
Fry (Антон), правильно делает.
Делиться кодом — приближать глобальный Армагеддон.
Ничего хорошего нет в закручивании спирали развития.
Наоборот, надо ее распрямлять на бОльший радиус)))

А чем нынче заняты в трейдинге? Какие идеи?
Йоганн, сейчас каждый день пишу бота. Он уже работает (на фьючь сбера на 2 контракта для отладки поставил), но ещё сырой.
Продолжаю свои эксперименты на виксе (VX CFE).
Вот думаю, взять лонг сипы (санта-ралли), но на балансе уже есть поза на виксе, а маржи свободной нет.
Fry (Антон), а бот на какой стратегии?
Йоганн, трендследун-интрадейщик. Наколбасил +8% за 8 дней испытаний — тренд сбера радует =), жаль, что так не всегда будет
Fry (Антон), а тренд указывается вручную или сам определяет?
В позу входит при достижении области поддержки-сопротивления?
А стоп определяет по ширине диапазона «шума» в районе уровня?
Йоганн, для тренда один мувинг. Стоп в параметрах назначаю (точка отсчёта от экстремума). В позу входит по сигнальному индюку. Всё очень просто… если опустить некоторые моменты =)
Fry (Антон), 1% в день — хорошо.
А на флете как себя ведет? Распознает его7
Йоганн, всё как у всех — сам по себе флет безобиден.
Но на переходе между состояниями (аптренд<>даунтренд<>флет), понятное дело, будут потери. Ничего принципиально нового.
Андрей Аурис, для HFT-бота, который эксплуатирует фактор скорости критическими местами является:
1) маршрут (нужно убрать всё лишнее)
2) работа со строковыми типами данных
3) проверки ошибок (придётся пожертвовать гибкостью и устойчивостью кода в пользу скорости)

Чтобы решать кодерские задачи для HFT, лучше всего, на мой взгляд, подходит интеловский компиллер C++.

В HFT обычно на уровне кода нет никаких таких циклических математических рассчётов, главные задержки которые реально убрать программисту — это избавиться всяких конекторов-адаптеров-трансляторов-проверок.
Например, важнее всего избавиться от библиотеки-посредника, которая безумно тупо проверяет строковые значения и очень-очень дебильно парсит их в float'ы и int'ы, когда на самом деле надо получить родные для x64 даблы и лонги.
А затем максимально быстро обратно сгенерировать строку из даблов без всяких проверок, но с кучей оговорок (с фиксированной точностью и не полным диапазоном допускаемых входных значений).
С#, я так понимаю, использовался в безопасном виде, мало кто пишет результаты при использование # в небезопасном виде.
вы бы еще учли скорость написания и скорость поддержки всего этого хлама. вне зависимости от уровня разраба, которого под всякую кривую экзотику еще найти надо.
avatar

cdb/2.1

Для каждой задачи и сроков — свое средство разработки. Давно уже разрешенный вопрос это
avatar

kbrobot.ru

Какая разница на чем писать… за деньги, хоть на папирусе)
Просто через месяц, в ваш супер быстрый код, вставят костыль, и будет пофиг что на чем вы писали, а будет тормозить, памяти добавят)
Давно заметил в ваших постах, гоняетесь за скоростью. Интересно, что за стратегию хотите алгоритмизировать? Насколько понял из давнего — стаканы анализировать. Просто не сталкивался с такими сверх задачами, где зачастую нужно гоняться за скоростью.
Андрей Аурис, а теоретически подкованы? Если да, с чего бы можно начать изучать?
Андрей Аурис, не правильно поняли. Я программировать способен. Я больше про нейронные сети. Чтобы их делать, нужна хорошая теоретическая база по ним. Не знаю пока как подступиться и с чего начать.

На четвертом месте язык Applied Type System,...., но активно применяется для системного программирования.

Я тоже не слышал. Ты точно понимаешь что подразумевается под «системным программированием»??

avatar

Simix

Если говорить о «быстроте» языка — это скорость-удобство написания и структурирования кода. А производительность — это качество компилятора. Статью писали дебилы..

А для ИИ я создал специальный класс «Перцептрон» на плюсах с оптимизированными на асме методами — все летает.

С++ — форева !

avatar

Йоганн


Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

Залогиниться

Зарегистрироваться
....все тэги
Регистрация
UPDONW