Здравствуйте, mikkri, Вы писали:
M>Здравствуйте, Cider,
M>Я читал статью, в которой сравнивалась производительность Java и .NET. В ней было выявлено, что точность работы с плавающей точкой в .NET специально понижена, по сравнению с Java и C++ (каким не помню, GNU, наверное). Попробуй убрать дробные числа из теста, что выйдет?
Да, действительно, плавающая точка сильно тормозила процесс...
Скорость выросла примерно в 5 раз. Теперь уже больше похоже на правду

Но все равно почти в 2 раза медленнее C#.
Cider
Здравствуйте, V.Petrovski, Вы писали:
VP>И в C# есть понятие дерективы предкомпиляции
VP>
VP>int i = 0;
VP>#if Ver103705
VP> i = DisposedMethod();
VP>#elif Ver114322
VP> i = NewMethod();
VP>#endif
VP>
Насколько я знаю .Net Framework это — не директивы предкомпиляции как это было в С. Это — директивы, которые работают в runtime. То бишь и первая и вторая ветка будут содержаться в скомпилированном коде. Что хорошо!
Здравствуйте, CTPEKO3A, Вы писали:
CTP>Здравствуйте, V.Petrovski, Вы писали:
VP>>И в C# есть понятие дерективы предкомпиляции
VP>>
VP>>int i = 0;
VP>>#if Ver103705
VP>> i = DisposedMethod();
VP>>#elif Ver114322
VP>> i = NewMethod();
VP>>#endif
VP>>
CTP>Насколько я знаю .Net Framework это — не директивы предкомпиляции как это было в С. Это — директивы, которые работают в runtime. То бишь и первая и вторая ветка будут содержаться в скомпилированном коде. Что хорошо!
Нет ты ошибаешься, это дерективы
предкомпиляции
CTP>
... << RSDN@Home 1.1 beta 1 U2 — Beautiful day>>
C>Да, действительно, плавающая точка сильно тормозила процесс...
C>Скорость выросла примерно в 5 раз. Теперь уже больше похоже на правду
C>Но все равно почти в 2 раза медленнее C#.
C>Cider
Я протестил все с плавающей точкой, но результат сохранял не в строку, а в число с плавающей точкой. Отношение получилось где-то 2.4-2.5 раз в пользу .NET. На целочисленном тесте получилось отношение 2.6 — 2.7.
Похоже, тормозит именно преобразование плавающего числа в строку.
При этом интересно, что если в целочисленном тесте сохранять результат в целое число, то отношение будет 4.8-4.9 в пользу .NET.
Так что арифметика с плавающей точкой в Java показывет себя "лучше в сравнении с .NET" (странная характеристика, да), чем целочисленная.
ps: тесты шли на JRE 1.3.1_06 vs .NET RT 1.1. На 1.4 цифры должны быть меньше.