| Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
| Все форумы / Программирование | ![]() |
||
| Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9 10 11 вперед Ctrl→ все |
|
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] Ответить | Цитировать Сообщить модератору | |
|
Вечность Member Откуда: из твоей самой сладкой мечты... Сообщений: 314 |
|
||
| 30 мар 07, 04:32 [3958748] Ответить | Цитировать Сообщить модератору | |||
|
mayton Member Откуда: Украина-Россия-Крым Сообщений: 23181 |
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] Ответить | Цитировать Сообщить модератору | |
|
zloy den Member Откуда: Сообщений: 2579 |
Хм... Мне кажется что что-то не так в консерватории насчет Дельфи. Я сомневаюсь, что он оказался медленнее языков с виртуальной машиной |
| 30 мар 07, 11:39 [3959934] Ответить | Цитировать Сообщить модератору | |
|
Master Alex Member Откуда: Сообщений: 181 |
Перемерил: 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] Ответить | Цитировать Сообщить модератору | |||
|
LMM
Guest |
to Master Alex Ты бы еще Делфи 1 или 2 взял. P.S. Для чистоты эксперемента надо D2006 брать, у него более оптимизированный компилятор. |
| 30 мар 07, 12:02 [3960125] Ответить | Цитировать Сообщить модератору | |
|
maXmo Member Откуда: Моск. Сообщений: 8554 |
А шина какая? А память? А диск? Или диск не участвует? |
| 30 мар 07, 13:12 [3960750] Ответить | Цитировать Сообщить модератору | |
|
mrDOS Member Откуда: Сообщений: 3389 |
ужос жаба быстрее делфи |
| 30 мар 07, 15:04 [3961570] Ответить | Цитировать Сообщить модератору | |
|
Master Alex Member Откуда: Сообщений: 181 |
Интересная идея. Т.е. есть уверенность, что в D2006 полностью переписали компилятор?
Диск не участвует. |
||||
| 30 мар 07, 15:29 [3961792] Ответить | Цитировать Сообщить модератору | |||||
|
grexhide Member [заблокирован] Откуда: Страна непреодолимых противоречий Сообщений: 8561 |
Нет, не полностью. Но довольно существенно. Можешь попробовать сам, будет действительно интересно. Тем более, ты, похоже не оригинальный LZMA SDK под Delphi тестируешь, а некий порт, о качестве портирования которого - можно только догадываться. |
||||
| 30 мар 07, 17:11 [3962517] Ответить | Цитировать Сообщить модератору | |||||
|
grexhide Member [заблокирован] Откуда: Страна непреодолимых противоречий Сообщений: 8561 |
А судя по коду этого порта - качество там (мозгов) - ниже плинтуса. |
| 30 мар 07, 17:13 [3962534] Ответить | Цитировать Сообщить модератору | |
|
grexhide Member [заблокирован] Откуда: Страна непреодолимых противоречий Сообщений: 8561 |
Впрочем, вот тебе и результаты (машинка 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] Ответить | Цитировать Сообщить модератору | |||
|
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] Ответить | Цитировать Сообщить модератору | |
|
Kachalov Member Откуда: Москва Сообщений: 5388 |
- а что Java не сумел запустить? |
||
| 30 мар 07, 19:37 [3963197] Ответить | Цитировать Сообщить модератору | |||
|
grexhide Member [заблокирован] Откуда: Страна непреодолимых противоречий Сообщений: 8561 |
Ну почему же? Просто нет нужды публиковать и так опубликованные ранее тесты. Для себя я сделал вполне известные и так выводы: последние JIT компиляторы Java и C# - уже вполне приличны, хоть и пресловутая "оптимизация" под платформу - чаще не более, чем пустой трёп (на практике). А результаты по Delphi рассматривать (в силу крайне низкого качества откровенно левого кода, участвовавшего в сравнении) нет смысла в принципе, тем более, результаты там должны были быть близки к C++, но никак не к "компилируемо/интерпретируемым" JIT-ам. Тем не менее, речь шла больше о Delphi10 и Delphi7 в сравнении (качестве компиляторов 2005 и 2002 года выпуска). |
||||
| 30 мар 07, 22:48 [3963448] Ответить | Цитировать Сообщить модератору | |||||
|
daevaorn Member Откуда: Москва Сообщений: 252 |
ну конечно. как проявляется слабость Delphi, так сразу нет смылса. С закрытыми глазами легче живется? |
||
| 30 мар 07, 23:04 [3963469] Ответить | Цитировать Сообщить модератору | |||
|
grexhide Member [заблокирован] Откуда: Страна непреодолимых противоречий Сообщений: 8561 |
В чем слабость? Какие еще глаза? Ты код "порта" по ссылке скачай, да посмотри. По поводу же C++ - да, силы в его оптимизатор вложены не в пример большие, чем в делфийский. Это объективный и давно известный факт (Delphi - это именно UI RAD среда, и для UI RAD имеет очень приличный, хоть и весьма делекий от совершенства компилятор). Вопрос же в другом - в JIT вложены просто огромные деньги. И что мы видим в результате? |
||||
| 30 мар 07, 23:22 [3963503] Ответить | Цитировать Сообщить модератору | |||||
|
Master Alex Member Откуда: Сообщений: 181 |
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] Ответить | Цитировать Сообщить модератору | |||
|
Aklin Member Откуда: Прямо сейчас меня здесь нет Сообщений: 39429 |
все ниже перечисленное имхо вот сидят тут люди, пытаются доказать, что дельфя крутая. гм. как видно, ява с виртуальной машиной ее и то обходит. и неважно, какие алгоритмы. (хотя оптимизация важна). поскольку алгоритмы одни для всех, втч много обращений к памяти. но даже весело не то, что делфи проигрывает яве, а то, что си рвет си_диез и делфи практически вдвое. и доказывать тут нечего. это и так ясно - си язык быстрый, удобный, мощный. ява - упрощенный си. (стоит еще добавить его переносимость). что же такое делфи я сказать не могу, но вот си_диез(некоторые еще называют его шарпом) - это полное фуфло. ибо это и виртуальная машины (FW) и привязка к винде. и как видно, отсутствие качества выходной программы. аффтопитезь: объект либо именован, либо не существует |
| 31 мар 07, 10:15 [3963945] Ответить | Цитировать Сообщить модератору | |
|
mayton Member Откуда: Украина-Россия-Крым Сообщений: 23181 |
Автору - большой респект за проделанный объем работ. Но у меня возникают сомнения по поводу полноты и всеобъемственности вышеуказанного теста. Посудите сами - мы взяли какой-то узкий алгоритм архивации (Lempel-Ziv-Markov algorithm), прогнали его на компилляторах, и пытаемся сходу делать выводы об эффективности того или иного ЯП. Я отнюдь не защищаю Delphi, просто мне любоапытено появление падения перформанса, для тривиальных целочисленных операций. Совершенно очевидно, что необходим профайлинг для выявления бутылочного горла. |
| 31 мар 07, 10:44 [3963966] Ответить | Цитировать Сообщить модератору | |
|
Aklin Member Откуда: Прямо сейчас меня здесь нет Сообщений: 39429 |
автору респект однозначно по поводу горла: алгоритм одинаков на всех языках. суть не в узких местах, а в том, что делфи медленнее. |
||
| 31 мар 07, 11:09 [3963994] Ответить | Цитировать Сообщить модератору | |||
|
Master Alex Member Откуда: Сообщений: 181 |
Цель данного теста - не повесить ярлык, это, вот рулез, а это - suxx, а прежде всего для себя (меня :) выяснить, как ведет себя Java на подобных задачах (конвертирование, архивация). Сейчас я пишу на Delphi, но активно изучаю Java, так что такой тест очень кстати :) Мне кажется, что было бы еще интересно прогнать Java тест на одной и той же машине под Win и Linux - чтобы сравнить и скорость платформ. |
||
| 31 мар 07, 11:38 [3964025] Ответить | Цитировать Сообщить модератору | |||
|
ErV Member Откуда: Сообщений: 2040 |
Было бы неплохо посмотреть на исходники бенчмарка. Хотя в бенчмарке не вижу смысла. |
| 31 мар 07, 11:42 [3964029] Ответить | Цитировать Сообщить модератору | |
|
Master Alex Member Откуда: Сообщений: 181 |
Линк на исходники был в первом посте :) http://www.mycoolfotos.com/lzma/lzma443_test.zip |
||
| 31 мар 07, 12:27 [3964068] Ответить | Цитировать Сообщить модератору | |||
|
mayton Member Откуда: Украина-Россия-Крым Сообщений: 23181 |
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→ все |
| Все форумы / Программирование | ![]() |
|