|
|
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
vitalekБыла робкая надежда увидеть цифры по второму тесту для D2007, C# и Java:) Но желающих, видимо, нет. Самому качать D2007 ради одного теста - тоже жаба душит У меня сегодня D2007 докачается, поставлю, прогоню тесты, отпишусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2007, 09:40 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
vitalekБыла робкая надежда увидеть цифры по второму тесту для D2007, C# и Java:) Но желающих, видимо, нет. Да, не густо, прямо скажем. Итак, вечерние забеги. В них добавлена новая версия Delphi 10 (call procedure) + Java + С#. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. http://www.mycoolfotos.com/lzma/repeat_goto.zip (371 KB) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 01:15 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Master AlexИсходники + бинарники: http://www.mycoolfotos.com/lzma/repeat_goto.zip (371 KB) А что делают все эти программы? Ссылочку на сообщение с описанием задания хотя бы. У меня с фантазией вроде не плохо, но понять, что нужно делать c массивом, чтобы получить в результате из набора чисел {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0} набор {0, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 13, 14, 15, 16, 17, 18, 19, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0} (причём потратив на это 25 секунд на java на 3ггц пне) я не смог :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 11:12 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsА что делают все эти программы? Ссылочку на сообщение с описанием задания хотя бы. Боже мой. Да это же генерация перестановок... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 11:17 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs Боже мой. Да это же генерация перестановок... Предалгаю использовать такой вариант решения для java ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 12:33 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsПредалгаю использовать такой вариант решения для java ) Спасибо! Сейчас перезапущу и выложу результаты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 13:27 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Master Alex NotGonnaGetUsПредалгаю использовать такой вариант решения для java ) Спасибо! Сейчас перезапущу и выложу результаты. Не обратил внимание на ещё одну оптимизацию, после которой всё бегает в 2 раза быстрее. Код прилагается. У меня получились следующие результаты на п4, 3ггц: java 6: Count: 479001600 Time: 5628 (ms) с# 2 (release, код в один один из java): Count: 479001600 Time: 00:00:08.9028016 (ms) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 15:37 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsКод прилагается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 15:38 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Задело, трудно остановиться :) Прилагается код на java, который бегает быстрее решения на C++, собранного компилятором от интел. java 1.6: Count: 479001600 Time: 2874 (ms) c#: Count: 479001600 Time: 00:00:04.6667104 (ms) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 16:03 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Тихо, сам с собою... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 16:46 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsТихо, сам с собою... Просто убил :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 16:59 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsТихо, сам с собою... Вот уж точно :) Вопрос не в том, чтобы написать оптимальный алгоритм перестановок, а в сравнении одного и того же алгоритма на разных языках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 17:03 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Yuric74 NotGonnaGetUsТихо, сам с собою... Вот уж точно :) Вопрос не в том, чтобы написать оптимальный алгоритм перестановок, а в сравнении одного и того же алгоритма на разных языках. А я этим и занимаюсь :) Сравниваю Java и С#. Результат самый что ни на есть увлекательный. Смотрим: Есть два алгоритма А1 и А2. Оба без изменений пускаются на java/c#. Для одного получаем, что с# выигрывает у java, для другого - в точности наоборот (в полтора раза). Примечательно, что А1 и А2 решаеют ОДНУ И ТУЖЕ задачу. О чём это говорит? Только о том, что эффективный алгоритм решения одной и той же задачи для разных языков будет разным. Следствием данного наблюдения является бессмысленность замеров, которые проводятся в этом топике вот уже 8 старниц :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 17:07 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsА я этим и занимаюсь :) Сравниваю Java и С#. Это правильно :) NotGonnaGetUsО чём это говорит? Только о том, что эффективный алгоритм решения одной и той же задачи для разных языков будет разным. Не всегда, в данном конкретном случае - да. NotGonnaGetUsСледствием данного наблюдения является бессмысленность замеров, которые проводятся в этом топике вот уже 8 старниц :) В результате этих замеров выяснилось, что в Delphi эффективность компиляции разных циклов - разная. Скорость выполнения for меньше, чем repeat, например. Так что замеры далеко не бессмыслены. И если прочитаете ветку целиком, то мой первый пост - это вопрос о том, почему один и тот же код выполняется на разных версиях Delphi с разной скоростью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 17:18 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Yuric74В результате этих замеров выяснилось, что в Delphi эффективность компиляции разных циклов - разная. Скорость выполнения for меньше, чем repeat, например. Ну этот результат легко было предсказать и без замеров. Вот если бы замеры показали одинаковое время, тогда стоило бы удивляться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 17:24 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Yuric74 Цели в этом топике у всех разные, как легко убедиться. Вас интересуют циклы дельфи, Master Alex'a скорость работы одних и тех же алгоритмов (причём не обязательно один в один похожих), меня - почему вдруг java оказалась тормознутее c# %) В итоге то, что интересному одному из нас (циклы в дельфи), вовсе не обязательно полезный выход для другого :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 17:26 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
softwarerНу этот результат легко было предсказать и без замеров. Как, если не секрет? Я думал, что цикл for на асме (после компиляции) - это проверка условия выхода из цикла, затем тело цикла, инкремент регистра счетчика и jmp обратно на проверку. И while можно скомпилить так же. Почему тогда разница между for и while? Надо дома еще раз посмотреть дизассемблированный код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 17:30 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUsВ итоге то, что интересному одному из нас (циклы в дельфи), вовсе не обязательно полезный выход для другого :) Вот это я точно мог предсказать :) Но мне интересны не только результаты Delphi, но и все остальные тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 17:32 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Yuric74Как, если не секрет? Циклы while/repeat, равно как и сишный цикл for, вычисляют свои аргументы на каждом шаге цикла. В отличие от них, паскалевский for вычисляет свои аргументы только один раз. Сводить второй случай к первому - неэффективно. Проверять, не сводится ли первый случай ко второму - весьма трудно. Таким образом, есть все основания предполагать разную реализацию кодогенерации для этих случаев. Yuric74Я думал, что цикл for на асме (после компиляции) - это проверка условия выхода из цикла, затем тело цикла, инкремент регистра счетчика и jmp обратно на проверку. Ну это зависит от. Например, компилятор попытается заменить инкремент декрементом, а проверку перенести в конец цикла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 17:51 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs О чём это говорит? Только о том, что эффективный алгоритм решения одной и той же задачи для разных языков будет разным. Чтобы это доказать, надо на всех языках использовать реализацию одного и того же алгоритма - а у тебя оптимизированная версия и только для Java. Типа мы тут замеряем реализацию пузырьковой сортировки, а ты на Java реализовал QuickSort :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 20:52 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
NotGonnaGetUs У меня получились следующие результаты на п4, 3ггц: java 6: Count: 479001600 Time: 5628 (ms) с# 2 (release, код в один один из java): Count: 479001600 Time: 00:00:08.9028016 (ms) У меня вышло чуть по другому: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. http://www.mycoolfotos.com/lzma/repeat_goto.zip (371 KB) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 03:01 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Master Alex vitalekБыла робкая надежда увидеть цифры по второму тесту для D2007, C# и Java:) Но желающих, видимо, нет. Да, не густо, прямо скажем. Итак, вечерние забеги. В них добавлена новая версия Delphi 10 (call procedure) + Java + С#. В смысле? 10-я версия - это вроде как D2006. А самая свежая - это D2007. Если имеется ввиду всё-таки 2007-я, то ускорения по сравнению с D10 нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 11:43 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Master Alex NotGonnaGetUs О чём это говорит? Только о том, что эффективный алгоритм решения одной и той же задачи для разных языков будет разным. Чтобы это доказать, надо на всех языках использовать реализацию одного и того же алгоритма - а у тебя оптимизированная версия и только для Java. Типа мы тут замеряем реализацию пузырьковой сортировки, а ты на Java реализовал QuickSort :) Ну не правда. Я сравнивал java и c# на _одинаковых_ алгоритмах и пришёл к выводу, что пузырьковую сортировку с# делает быстрее, а java делает быстрее quicksort. Кстати, мои результаты действительно не корректны получились. Я запускал и java, и c# программики из IDE (Idea, VS2005). Idea никак не влияет на скорость выполнение, а vs2005, оказалось, замедляет выполнение в полтора раза. Перезапуски без IDE показали, что java и с# работают одинаково быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 11:50 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Master AlexУ меня вышло чуть по другому: А не трудно будет запустить opt-алгоритм на с++/дельфи? Интересно во сколько раз эти языки быстрее справятся с задачей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 12:16 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
ещё хочу Master AlexУ меня вышло чуть по другому: А не трудно будет запустить opt-алгоритм на с++/дельфи? Интересно во сколько раз эти языки быстрее справятся с задачей. Естественно, потестируем и Delphi и C++ с новым алгоритмом :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2007, 13:38 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=34486847&tid=1342778]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
172ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
78ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 542ms |

| 0 / 0 |
