|
|
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
maytonMaster Alex. Я обратил внимание, что исходники Delphi присутствуют в двух вариантах. Delphi и Delphi.FAST с различными оптимизациями под MMX и SSE. Та статистика Delphi, которую вы приводите, какому бинарнику соответсвтует? Во вчерашних забегах Delphi10F - это сборка Delphi 10 с Fast юнитами (FastMem+FastCode+FastMove) Delphi7 - это сборка на Delphi 7 без Fast юнитов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2007, 13:33 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Master Alex Цель данного теста - не повесить ярлык, это, вот рулез, а это - suxx, а прежде всего для себя (меня :) выяснить, как ведет себя Java на подобных задачах (конвертирование, архивация). Спасибо за тесты. Если не сложно, можете привести сколько памяти отъедается в каждом тесте? Интересно, какой ценой достигаются эти результаты в каждом случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2007, 16:09 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Master AlexCильно сомневаюсь - там каждая строчка переписана влоб в лоб.К сожалению, портирование LZMA на Delphi не оптимизировано, о чем уже говорил Grexhide . Код: 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. Код: 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. Посмотрите еще Код: 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. Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2007, 17:49 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Итак, господа, мы убедились, что лобового переписывания алгоритма - недостаточно. Требуется оптимизация. Я думаю такое скажет, бия себя в грудь каждый приверженец того или иного ЯП/технологии. Ибо везде есть свои нюансы, tips, tricks и т.п. Думаю, что после того, как Delphi-йский порт немного причешут и пригладят он займёт своё достойное место в чарте рядом с нативными компиллерами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2007, 18:29 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
OracleXК сожалению, портирование LZMA на Delphi не оптимизировано, о чем уже говорил Grexhide . по сравнению с Java и C#? ;) про С++ - никто не спорит - там и так все со скоростью ясно. смотрим код на Delphi еще раз: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Смотрим сорцы на Java: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. смотрим еще раз: Код: 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. Смотрим сорцы на 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. Найди 10 различий :) OracleX Посмотрите еще Код: plaintext 1. В бенчмарке файлового чтения нет - так что этот код не используется. OracleX Теперь понятно, о чем говорил уважаемый Grexhide ? Неа :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2007, 18:37 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
maytonИтак, господа, мы убедились, что лобового переписывания алгоритма - недостаточно. Требуется оптимизация. А зачем - интересно же сравнить одинаковый код (без оптимизации) на разных языках - вот есть C#, есть Java и Delphi - код один в один - производительность разная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2007, 18:44 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Используется этот код, такой же дубовый :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Ищите сами в них 10 различий. Зато код на C++ (опытный прогер поймет) оптимальнее, чем код, портированный на Delphi, причем в ключевых с т.зрения производительности местах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2007, 18:52 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
OracleX Java и C# меня не волнуют. Ищите сами в них 10 различий. Так портировали код, скорее всего с Java на Delphi, а не с оптимизированного Си, так что сравнивать интересно сравнимое. OracleX Зато код на C++ (опытный прогер поймет) оптимальнее, чем код, портированный на Delphi, причем в ключевых с т.зрения производительности местах. Так тут никто и не спорит - еще и сам компилятор C++ мощнее, чем компилятор Delphi - тут сразу были разные весовые категории :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2007, 19:00 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
mayton прав насчет ущербности портирования без учета особенностей. Кроме того, подскажите, адекватно ли сравнивать по скорости вызов ReadByte(stream) в коде Delphi и Stream.read() в коде Java? Причем, код Java совсем не похож на код Delphi :) Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2007, 19:37 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
OracleXСделайте весь код более похожим (и Java и Delphi), тогда посмотрим. Согласен, как автор порта соптимизирует, тогда и посмотрим :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2007, 20:09 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Другими словами, анализ исходников показал, что Alan Birtles проделал огромную и полезную работу, портировал LZMA на Delphi. Есть очевидные направления оптимизации его кода. Все остальные выводы, сделанные по приведенным бенчмаркам, не корректны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2007, 20:52 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
OracleXЕсть очевидные направления оптимизации его кода. Oki, щас попробую профайлер напустить на это творение ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2007, 21:09 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Другой вариант исходников LZMA Страна ждет новых героев :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2007, 21:52 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Они и не нужны, и так видны не оптимальные места. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2007, 22:09 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
OracleXОни и не нужны, и так видны не оптимальные места. Ну, вот когда будет бенчмарк модуль, тогда и можно будет сравнивать. А пока LZMA бенчмарки дельфи порт продувает, так кривой, а прямого нет. Даже Рассел (автор InnoSetup) не стал заморачиваться с портированием LZMA упаковщика под Delphi - просто собрал сишную dll и радуется жизни. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2007, 22:53 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Master AlexА пока LZMA бенчмарки дельфи порт продуваетТут Вы правы. Проведенная Вами работа по сравнению разноязычных вариантов портирования полезна, в основном, для тех, кто может заглянуть в "черный ящик". Я за 3 мин сделал декодирование на 4.3% быстрее в Delphi7. Будет время, продолжу оптимизацию, чтобы обогнать Java-реализацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2007, 00:36 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
to Master Alex Однозначно, нужна оптимизация под каждую среду и язык программирования, пример - пузырьковая сортировка, C/C++ сосет и у Дельфи и у C#(/topic/241745&pg=27) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2007, 01:11 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
LMMto Master Alex Однозначно, нужна оптимизация под каждую среду и язык программирования, пример - пузырьковая сортировка, C/C++ сосет и у Дельфи и у C#(/topic/241745&pg=27) это чтоле? Код: plaintext аффтар понятия о си не имеет. кстати, он там про это и писал. это не пузырьковая сортировка, а программа для временной задержки. ИТАК. вот мой пример - Код: plaintext тот тест делфи со своими 140 секундами сосет конкретно: 83 секунды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2007, 10:48 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
п.с. это только VS6 аффтопитезь: объект либо именован, либо не существует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2007, 10:50 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
AklinВ Вашем коде есть не понятное место: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2007, 11:07 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Master Alex OracleXОни и не нужны, и так видны не оптимальные места. Даже Рассел (автор InnoSetup) не стал заморачиваться с портированием LZMA упаковщика под Delphi - просто собрал сишную dll и радуется жизни. Да ради бога. Никто не запрещает слинковать .obj в проект на Delphi. Но за "продувание" слив таки засчитан (в который раз). - P.S. Прямо дети ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2007, 11:36 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
grexhideНо за "продувание" слив таки засчитан (в который раз). Еще раз - тестируются _готовые_ порты lzma, взятые с сайта 7zip, т.е. то что можно взять и не обрабатывая напильником (что 99% программистов скорее всего делать не будет) вставить в приложение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2007, 14:17 |
|
||
|
Бенчмарки C#, C++, Java, Delphi
|
|||
|---|---|---|---|
|
#18+
Тогда нужно было называть тему по другому: Бенчмарки LZMA на C++, C#, Java, Delphi ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2007, 15:05 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=34429843&tid=1342778]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
201ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 563ms |

| 0 / 0 |
