Здравствуйте, criosray, Вы писали:
C>Здравствуйте, VoidEx, Вы писали:
C>>>Для непонятливых вторая цифра означает диаметр.
VE>>И с каких пор длина * диаметр измеряется в линейных сантиметрах?
C>Где Вы там увидели знак умножения?
ну тогда
Здравствуйте, mrTwister, Вы писали:
S>>а сколько бы выдала java на этом тесте?
T><Summon target="Cyberax"> T>Java бы жутко тормозила, как обычно. T></Summon>
T>P.S.: действительно интересно
Немного погуглил — нашел несколько вариаций ParallelFor для Java. Но дальше разбираться не стал, т.к. не знаю какая из них реально применяется в продакшине.
Здравствуйте, criosray
C>Немного погуглил — нашел несколько вариаций ParallelFor для Java. Но дальше разбираться не стал, т.к. не знаю какая из них реально применяется в продакшине.
Здравствуйте, Sinix, Вы писали:
C>>Немного погуглил — нашел несколько вариаций ParallelFor для Java. Но дальше разбираться не стал, т.к. не знаю какая из них реально применяется в продакшине.
S>А без ParallelFor?
jre 6 13
passed 106 sec
total=1813065000
.net
passed 62 sec
total=1813065000
Даже и не знаю почему Java на столько медленнее. Возможно я при сборке каких-то ключиков не задал...
Здравствуйте, criosray
C>Даже и не знаю почему Java на столько медленнее. Возможно я при сборке каких-то ключиков не задал...
Ага. Уж я на что ламер в этом плане — и то помню что в любом мегахоливаре надо яву запускать с server gc и потюненным hot spot'om.
Здравствуйте, Sinix, Вы писали:
C>>Даже и не знаю почему Java на столько медленнее. Возможно я при сборке каких-то ключиков не задал... S>Ага. Уж я на что ламер в этом плане — и то помню что в любом мегахоливаре надо яву запускать с server gc и потюненным hot spot'om.
А чем server gc поможет число дробилке?
Какие ключи надо задать для тюнинга jvm?
Нашел только -server. Результат заметно улучшился:
passed — 89 sec
total=1813065000
Но все-равно пока сильно отстает и от С++ и от дотнет вариантов...
Здравствуйте, minorlogic, Вы писали:
M>Обидно, как всегда ...
M>Как только дошли до бенчмарков , сразу сторонники языка X рассосались а было весело.
А что интересного в меряние попугайчиков, сиречь в синтетических тестах?
Ведь реальная задача заключалась в том, что код числодробилки задается в рантайм пользователем.
Но т.к. С++ники не могут этого реализовать, то и сравнивать нам особо нечего.
Здравствуйте, minorlogic, Вы писали:
M>Как только дошли до бенчмарков , сразу сторонники языка X рассосались а было весело.
не знаю, какой язык ты обозвал "Х", но можешь предлагать еще какую-нибудь задачку, авось найдутся желающие достать линейки
Здравствуйте, criosray, Вы писали:
C>А что интересного в меряние попугайчиков, сиречь в синтетических тестах? C>Ведь реальная задача
а ткнуть в реальную задачу можно? поиск что-то глючит
C>заключалась в том, что код числодробилки задается в рантайм пользователем. C>Но т.к. С++ники не могут этого реализовать, то и сравнивать нам особо нечего.
как-то непонятно — код числодробилки задаётся каким образом? на каком-то собственном языке или на том же, что и программа? но все равно — в первом случае независимо от языка реализации будет своё для обработки, во втором — будет вызов компилятора в чем проблема-то?
Здравствуйте, Antikrot, Вы писали:
A>Здравствуйте, criosray, Вы писали:
C>>А что интересного в меряние попугайчиков, сиречь в синтетических тестах? C>>Ведь реальная задача A>а ткнуть в реальную задачу можно? поиск что-то глючит http://www.rsdn.ru/forum/flame.comp/3395396.1.aspx
C>>заключалась в том, что код числодробилки задается в рантайм пользователем. C>>Но т.к. С++ники не могут этого реализовать, то и сравнивать нам особо нечего. A>как-то непонятно — код числодробилки задаётся каким образом? на каком-то собственном языке или на том же, что и программа?
Каким образом — не суть важно. Важна была интерактивность программы (мгновенная отрисовка введенного пользователем описания геометрии сцены).
A>но все равно — в первом случае независимо от языка реализации будет своё для обработки, во втором — будет вызов компилятора в чем проблема-то?
Проблема в том, что пример на C++ с вызовом компилятора в рантайме пока не предоставлен (особенно с интеловским, с которым мерили). Рабочего примера на C# тоже не было, но с этим как-раз таки проблемы нет.
Здравствуйте, samius, Вы писали:
A>>но все равно — в первом случае независимо от языка реализации будет своё для обработки, во втором — будет вызов компилятора в чем проблема-то? S>Проблема в том, что пример на C++ с вызовом компилятора в рантайме пока не предоставлен (особенно с интеловским, с которым мерили). Рабочего примера на C# тоже не было, но с этим как-раз таки проблемы нет.
Здравствуйте, samius, Вы писали:
C>>>заключалась в том, что код числодробилки задается в рантайм пользователем. C>>>Но т.к. С++ники не могут этого реализовать, то и сравнивать нам особо нечего. A>>как-то непонятно — код числодробилки задаётся каким образом? на каком-то собственном языке или на том же, что и программа? S>Каким образом — не суть важно. Важна была интерактивность программы (мгновенная отрисовка введенного пользователем описания геометрии сцены).
ну это... если изменяемая часть — это математическое задание поверхностей, то (вот сейчас меня заплюют) я бы написал на плюсах простенький компилятор (прямо с кодогенерацией) матем.выражений на fpu и/или sse (собственно, я так делал для решения задач многокритериальной оптимизации при задании задачи интерактивно). таки да, платформозависимо, но так ведь и C# у нас не жуть какой кроссплатформенный.
Здравствуйте, Antikrot, Вы писали:
C>>>>заключалась в том, что код числодробилки задается в рантайм пользователем. C>>>>Но т.к. С++ники не могут этого реализовать, то и сравнивать нам особо нечего. A>>>как-то непонятно — код числодробилки задаётся каким образом? на каком-то собственном языке или на том же, что и программа? S>>Каким образом — не суть важно. Важна была интерактивность программы (мгновенная отрисовка введенного пользователем описания геометрии сцены). A>ну это... если изменяемая часть — это математическое задание поверхностей, то (вот сейчас меня заплюют) я бы написал на плюсах простенький компилятор (прямо с кодогенерацией) матем.выражений на fpu и/или sse (собственно, я так делал для решения задач многокритериальной оптимизации при задании задачи интерактивно).
Можно увидеть простой пример?
A>таки да, платформозависимо, но так ведь и C# у нас не жуть какой кроссплатформенный.
С# вариант будет работать и на древнем PII и на новейшем I7.
Здравствуйте, Antikrot, Вы писали:
A>ну это... если изменяемая часть — это математическое задание поверхностей, то (вот сейчас меня заплюют) я бы написал на плюсах простенький компилятор (прямо с кодогенерацией) матем.выражений на fpu и/или sse (собственно, я так делал для решения задач многокритериальной оптимизации при задании задачи интерактивно). таки да, платформозависимо, но так ведь и C# у нас не жуть какой кроссплатформенный.
Компилятор можно и на Руби написать.
* Будет ли это только сравнение C++ и Руби?
* Сколько займет ресурсов написание простенького компилятора, который бы опередил JIT (хотя бы в рамках задачи)?
Здравствуйте, criosray, Вы писали:
S>>>Каким образом — не суть важно. Важна была интерактивность программы (мгновенная отрисовка введенного пользователем описания геометрии сцены). A>>ну это... если изменяемая часть — это математическое задание поверхностей, то (вот сейчас меня заплюют) я бы написал на плюсах простенький компилятор (прямо с кодогенерацией) матем.выражений на fpu и/или sse (собственно, я так делал для решения задач многокритериальной оптимизации при задании задачи интерактивно). C>Можно увидеть простой пример?
нельзя там кода дофига, и у меня его с собой нет но идея ровно та же, что и по твоей ссылке http://www.codeproject.com/KB/msil/MsilParser.aspx, разве только что я всю эту фигню в классы запихал, и вместо набора функций вроде matchAdd у меня тупо был класс binary_operation с методами interpret, compileFPU и compileSSE. Последние две делали то же, что и ILGenerator.Emit.
поддерживалось до восьми переменных (Х1-...-Х8), читались-писались они просто в предопределенную область памяти, о которой знал мой кодогенератор
блин, да я бы эту свою фигню заопенсорсил, кабы нашел
ps. трудозатраты на это можешь сам представить... уж и правда проще сделать system(cl.exe)
A>>таки да, платформозависимо, но так ведь и C# у нас не жуть какой кроссплатформенный. C>С# вариант будет работать и на древнем PII и на новейшем I7.
ну так вариант с FPU тоже везде будет работать
Здравствуйте, samius, Вы писали:
S>Компилятор можно и на Руби написать. S>* Будет ли это только сравнение C++ и Руби? S>* Сколько займет ресурсов написание простенького компилятора, который бы опередил JIT (хотя бы в рамках задачи)?
неделю, не меньше
Здравствуйте, criosray, Вы писали:
C>http://www.codeproject.com/KB/msil/MsilParser.aspx вполне себе пример. Пусть хотя бы такое простенькое на С++ сделают.
На счет этого, я как раз не переживаю. Умельцы такое и на Delphi слабают и даже на том же C# без MSIL-а.