Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Программирование Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9 10 11   вперед  Ctrl      все
 Бенчмарки C#, C++, Java, Delphi  [new]
Master Alex
Member

Откуда:
Сообщений: 181
Побенчмаркил маленько.....

За основу взял LZMA SDK (от 7Zip) http://www.7-zip.org/sdk.html

Тестилось все на 4 компах под Windows XP SP2. Запускалось тестовое приложение lzmaalone c ключом b.
Вот выхлоп:

         Compression Speed           Decompression Speed  

P4 2.6GHz
~~~~~~~~~~
C++      1361 KB/s   1603 MIPS       19009 KB/s   1916 MIPS
Java 1.6  888 KB/s   1046 MIPS       10972 KB/s   1078 MIPS
Delphi7   775 KB/s    913 MIPS        9466 KB/s    930 MIPS
C#  	  757 KB/s    892 MIPS       13870 KB/s   1398 MIPS

AMD64 3000+
~~~~~~~~~~~
C++      1346 KB/s   1585 MIPS       18831 KB/s   1898 MIPS
Java 1.6  867 KB/s   1021 MIPS       11067 KB/s   1087 MIPS
Delphi7   770 KB/s    906 MIPS        9466 KB/s    930 MIPS
C#        757 KB/s    891 MIPS       13833 KB/s   1394 MIPS

INTEL M760 2000 Ghz
~~~~~~~~~~~~~~~~~~~
C++      1346 KB/s   1585 MIPS       18831 KB/s   1898 MIPS
Java 1.6  873 KB/s    1028 MIPS       9888 KB/s    971 MIPS
Delphi7   820 KB/s     966 MIPS       7895 KB/s    775 MIPS
C#        784 KB/s     924 MIPS      12307 KB/s   1240 MIPS

Core Duo 2.4GHz
~~~~~~~~~~~~~~~
C++      2068 KB/s   2436 MIPS       22677 KB/s   2286 MIPS 
Java 1.6 1270 KB/s   1495 MIPS       13721 KB/s   1348 MIPS
C#       1126 KB/s   1326 MIPS       15984 KB/s   1611 MIPS
Delphi7  1123 KB/s   1322 MIPS       10078 KB/s    990 MIPS


Собранные бинарники и исходники брать тут:
http://www.mycoolfotos.com/lzma/lzma443_test.zip (800 KB)
30 мар 07, 01:29    [3958682]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
Вечность
Member

Откуда: из твоей самой сладкой мечты...
Сообщений: 338
Master Alex
Побенчмаркил маленько.....

За основу взял LZMA SDK (от 7Zip) http://www.7-zip.org/sdk.html

Тестилось все на 4 компах под Windows XP SP2. Запускалось тестовое приложение lzmaalone c ключом b.
Вот выхлоп:
Круто! КоркаДу порвал всех как тузик грелку:)
30 мар 07, 04:32    [3958748]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
mayton
Member

Откуда: Украина-Россия-Крым
Сообщений: 25638
Core Duo 2.4GHz
~~~~~~~~~~~~~~~
C++      2068 KB/s   2436 MIPS       22677 KB/s   2286 MIPS 
Java 1.6 1270 KB/s   1495 MIPS       13721 KB/s   1348 MIPS
C#       1126 KB/s   1326 MIPS       15984 KB/s   1611 MIPS
Delphi7  1123 KB/s   1322 MIPS       10078 KB/s    990 MIPS

Хм.. вы не ошиблись с последними двумя строками? Почему-то мне кажется, что Delphi должен быть хоть чуть быстрее.
30 мар 07, 11:17    [3959738]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
zloy den
Member

Откуда:
Сообщений: 2579
Хм...
Мне кажется что что-то не так в консерватории насчет Дельфи. Я сомневаюсь, что он оказался медленнее языков с виртуальной машиной
30 мар 07, 11:39    [3959934]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
Master Alex
Member

Откуда:
Сообщений: 181
mayton

Хм.. вы не ошиблись с последними двумя строками? Почему-то мне кажется, что Delphi должен быть хоть чуть быстрее.

Перемерил:
C#       1094 KB/s    1289 MIPS      15557 KB/s    1568 MIPS   
Delphi7  1094 KB/s    1288 MIPS       9927 KB/s     975 MIPS
30 мар 07, 11:50    [3960030]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
LMM
Guest
to Master Alex
Ты бы еще Делфи 1 или 2 взял.
P.S.
Для чистоты эксперемента надо D2006 брать, у него более оптимизированный компилятор.
30 мар 07, 12:02    [3960125]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
maXmo
Member

Откуда: Моск.
Сообщений: 8554
А шина какая? А память? А диск? Или диск не участвует?
30 мар 07, 13:12    [3960750]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
mrDOS
Member

Откуда:
Сообщений: 3389
ужос жаба быстрее делфи
30 мар 07, 15:04    [3961570]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
Master Alex
Member

Откуда:
Сообщений: 181
LMM
Для чистоты эксперемента надо D2006 брать, у него более оптимизированный компилятор.

Интересная идея. Т.е. есть уверенность, что в D2006 полностью переписали компилятор?

maXmo
А шина какая? А память? А диск? Или диск не участвует?

Диск не участвует.
30 мар 07, 15:29    [3961792]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
grexhide
Member [заблокирован]

Откуда: Страна непреодолимых противоречий
Сообщений: 8561
Master Alex
LMM
Для чистоты эксперемента надо D2006 брать, у него более оптимизированный компилятор.

Интересная идея. Т.е. есть уверенность, что в D2006 полностью переписали компилятор?


Нет, не полностью. Но довольно существенно.
Можешь попробовать сам, будет действительно интересно.

Тем более, ты, похоже не оригинальный LZMA SDK под Delphi тестируешь, а некий порт, о качестве портирования которого - можно только догадываться.
30 мар 07, 17:11    [3962517]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
grexhide
Member [заблокирован]

Откуда: Страна непреодолимых противоречий
Сообщений: 8561
А судя по коду этого порта - качество там (мозгов) - ниже плинтуса.
30 мар 07, 17:13    [3962534]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
grexhide
Member [заблокирован]

Откуда: Страна непреодолимых противоречий
Сообщений: 8561
grexhide
А судя по коду этого порта - качество там (мозгов) - ниже плинтуса.


Впрочем, вот тебе и результаты (машинка Pentim M 1.2 L3 2Mb)

Delphi7     493 KB/s     581 MIPS       4262 KB/s     418 MIPS
Delphi10    527 KB/s     620 MIPS       4591 KB/s     451 MIPSMIPS

С включенными FastMM4, FastCode

Delphi7   516 KB/s     608 MIPS       4496 KB/s     441 MIPS
Delphi10  533 KB/s     628 MIPS       4929 KB/s     484 MIPS

Учитывая, что на худшем результате Delphi7 лишь достиг паритета с C#, то можно смело говорить
что в боевых условиях даже кое-как портированный (читай - неоптимизированный) базовый
код Delphi будет быстрее C# на 757/755 * 544/493 на ~10% ("просад" на декомпрессии и вовсе выглядит весьма странно).

Впрочем, можешь поставить тесты и сам. Delphi10 (Turbo Explorer) - доступен на http://www.turboexplorer.com/downloads

FastCode, FastMM на http://sf.net
30 мар 07, 17:30    [3962644]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
grexhide
Member [заблокирован]

Откуда: Страна непреодолимых противоречий
Сообщений: 8561
И в догонку.. Для чистоты эксперимента убив все лишнее, и запуская не из IDE, а готовые
сборки.


С++      930 KB/s   1095 MIPS      10233 KB/s   1031 MIPS 
С#       518 KB/s    610 MIPS       7717 KB/s    777 MIPS
Delphi10
(FastCode, 
FastMM)  586 KB/s    690 MIPS       5389 KB/s    529 MIPS   


В принципе, что и требовалось доказать

586/518 = 1,131... Сиречь, 13% (родная реализация с какой то левой портянкой)
30 мар 07, 18:08    [3962891]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5389
grexhide
И в догонку.. Для чистоты эксперимента убив все лишнее, и запуская не из IDE, а готовые сборки.

- а что Java не сумел запустить?
30 мар 07, 19:37    [3963197]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
grexhide
Member [заблокирован]

Откуда: Страна непреодолимых противоречий
Сообщений: 8561
Kachalov
grexhide
И в догонку.. Для чистоты эксперимента убив все лишнее, и запуская не из IDE, а готовые сборки.

- а что Java не сумел запустить?


Ну почему же? Просто нет нужды публиковать и так опубликованные ранее тесты.

Для себя я сделал вполне известные и так выводы: последние JIT компиляторы Java и C# - уже вполне приличны, хоть и пресловутая "оптимизация" под платформу - чаще не более, чем пустой трёп (на практике).

А результаты по Delphi рассматривать (в силу крайне низкого качества откровенно левого кода, участвовавшего в сравнении) нет смысла в принципе, тем более, результаты там должны были быть близки к C++, но никак не к "компилируемо/интерпретируемым" JIT-ам.

Тем не менее, речь шла больше о Delphi10 и Delphi7 в сравнении (качестве компиляторов 2005 и 2002 года выпуска).
30 мар 07, 22:48    [3963448]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
daevaorn
Member

Откуда: Москва
Сообщений: 252
grexhide

А результаты по Delphi рассматривать (в силу крайне низкого качества откровенно левого кода, участвовавшего в сравнении) нет смысла в принципе, тем более, результаты там должны были быть близки к C++, но никак не к "компилируемо/интерпретируемым" JIT-ам.

ну конечно. как проявляется слабость Delphi, так сразу нет смылса. С закрытыми глазами легче живется?
30 мар 07, 23:04    [3963469]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
grexhide
Member [заблокирован]

Откуда: Страна непреодолимых противоречий
Сообщений: 8561
daevaorn
grexhide

А результаты по Delphi рассматривать (в силу крайне низкого качества откровенно левого кода, участвовавшего в сравнении) нет смысла в принципе, тем более, результаты там должны были быть близки к C++, но никак не к "компилируемо/интерпретируемым" JIT-ам.

ну конечно. как проявляется слабость Delphi, так сразу нет смылса. С закрытыми глазами легче живется?

В чем слабость? Какие еще глаза? Ты код "порта" по ссылке скачай, да посмотри.

По поводу же C++ - да, силы в его оптимизатор вложены не в пример большие, чем в делфийский.
Это объективный и давно известный факт (Delphi - это именно UI RAD среда, и для UI RAD имеет очень приличный, хоть и весьма делекий от совершенства компилятор).

Вопрос же в другом - в JIT вложены просто огромные деньги. И что мы видим в результате?
30 мар 07, 23:22    [3963503]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
Master Alex
Member

Откуда:
Сообщений: 181
grexhide
В чем слабость? Какие еще глаза? Ты код "порта" по ссылке скачай, да посмотри.


grexhide, а в чем слабость порта? Уверены, что если перепишите, он заработает быстрее? Cильно сомневаюсь - там каждая строчка переписана влоб в лоб.
PS. Перекомпилил пример на Delphi 10 + FastMM+FastCode+FastMove - разница с Delphi7 без ничего абсолютно не поражает :)

AMD64 3000+ 2 Ghz
~~~~~~~~~~~~~~~~~
C++       1369 KB/s   1612 MIPS       18505 KB/s   1865 MIPS
Java 1.6   890 KB/s   1048 MIPS       11013 KB/s   1082 MIPS
Delphi10F  796 KB/s    937 MIPS        9961 KB/s    978 MIPS
Delphi7    770 KB/s    906 MIPS        9466 KB/s    930 MIPS
C#         757 KB/s    891 MIPS       13833 KB/s   1394 MIPS

Core Duo E6600 2.4 GHz - 1 Core
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C++       1970 KB/s    2320 MIPS      20490 KB/s   2065 MIPS 
Java 1.6  1224 KB/s    1442 MIPS      13315 KB/s   1308 MIPS
Delphi10F 1142 KB/s    1345 MIPS      10745 KB/s   1055 MIPS
C#        1087 KB/s    1280 MIPS      15465 KB/s   1559 MIPS
Delphi7   1063 KB/s    1252 MIPS       9817 KB/s    964 MIPS

31 мар 07, 01:00    [3963724]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
Aklin
Member

Откуда: Прямо сейчас меня здесь нет
Сообщений: 39379
все ниже перечисленное имхо

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

но даже весело не то, что делфи проигрывает яве, а то, что си рвет си_диез и делфи практически вдвое.

и доказывать тут нечего. это и так ясно - си язык быстрый, удобный, мощный. ява - упрощенный си. (стоит еще добавить его переносимость). что же такое делфи я сказать не могу, но вот си_диез(некоторые еще называют его шарпом) - это полное фуфло. ибо это и виртуальная машины (FW) и привязка к винде. и как видно, отсутствие качества выходной программы.

аффтопитезь: объект либо именован, либо не существует
31 мар 07, 10:15    [3963945]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
mayton
Member

Откуда: Украина-Россия-Крым
Сообщений: 25638
Автору - большой респект за проделанный объем работ. Но у меня возникают сомнения по поводу полноты и всеобъемственности вышеуказанного теста. Посудите сами - мы взяли какой-то узкий алгоритм архивации (Lempel-Ziv-Markov algorithm), прогнали его на компилляторах, и пытаемся сходу делать выводы об эффективности того или иного ЯП.

Я отнюдь не защищаю Delphi, просто мне любоапытено появление падения перформанса, для тривиальных целочисленных операций. Совершенно очевидно, что необходим профайлинг для выявления бутылочного горла.
31 мар 07, 10:44    [3963966]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
Aklin
Member

Откуда: Прямо сейчас меня здесь нет
Сообщений: 39379
mayton



автору респект однозначно

по поводу горла: алгоритм одинаков на всех языках. суть не в узких местах, а в том, что делфи медленнее.
31 мар 07, 11:09    [3963994]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
Master Alex
Member

Откуда:
Сообщений: 181
mayton
и пытаемся сходу делать выводы об эффективности того или иного ЯП.

Цель данного теста - не повесить ярлык, это, вот рулез, а это - suxx, а прежде всего для себя (меня :) выяснить, как ведет себя Java на подобных задачах (конвертирование, архивация). Сейчас я пишу на Delphi, но активно изучаю Java, так что такой тест очень кстати :) Мне кажется, что было бы еще интересно прогнать Java тест на одной и той же машине под Win и Linux - чтобы сравнить и скорость платформ.
31 мар 07, 11:38    [3964025]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
ErV
Member

Откуда:
Сообщений: 2040
Было бы неплохо посмотреть на исходники бенчмарка.
Хотя в бенчмарке не вижу смысла.
31 мар 07, 11:42    [3964029]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
Master Alex
Member

Откуда:
Сообщений: 181
ErV
Было бы неплохо посмотреть на исходники бенчмарка.
Хотя в бенчмарке не вижу смысла.

Линк на исходники был в первом посте :)
http://www.mycoolfotos.com/lzma/lzma443_test.zip
31 мар 07, 12:27    [3964068]     Ответить | Цитировать Сообщить модератору
 Re: Бенчмарки C#, C++, Java, Delphi  [new]
mayton
Member

Откуда: Украина-Россия-Крым
Сообщений: 25638
Master Alex.

Я обратил внимание, что исходники Delphi присутствуют в двух вариантах. Delphi и Delphi.FAST с различными оптимизациями под MMX и SSE. Та статистика Delphi, которую вы приводите, какому бинарнику соответсвтует?

У себя тестировать пока не хочу, потому-что необходима поправка на усреднённое процентное соотношение ВСЕХ тестов, иначе я получу заведомо другие цифры.
31 мар 07, 13:10    [3964103]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9 10 11   вперед  Ctrl      все
Все форумы / Программирование Ответить