Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.226.169.94] |
|
Сообщ.
#1
,
|
|
|
Кто нибудь знает о наличии тестов, для проверки производительности 32-битных компиляторов паскаля? Очень хочется узнать насколько шустры современные паскалевские компиляторы
|
Сообщ.
#2
,
|
|
|
mephis, а самому написать?
Вот это посмотри: Сравнение быстродействия различных компиляторов |
Сообщ.
#3
,
|
|
|
Следует учесть, что результаты подводились еще в 2003 году, а за это время много чего изменилось, включая появление новых версий.
Где MMX/SSE/SSE2 test - ? |
Сообщ.
#4
,
|
|
|
matrix operations
data transfer function calls, recursive function string operations ... It's still me. |
Сообщ.
#5
,
|
|
|
Сегодня помещу результаты тестирования скорости компиляторов Delphi/FPC/VP/GPC и, может, TMT, если мне пришлют его скомпилированный ЕХЕшник. Результаты обещают быть очень интересными...
Тестирование проводил с помощью SciMark 2.0, спортированного в Паскаль. |
Сообщ.
#6
,
|
|
|
==== SciMark 2.0 benchmark ==== [About SciMark 2.0] A composite score in approximate Mflops (Millions of floating point operations per second): ------------- FPC 2.0.0 ------------- Composite Score: 122.97 FFT Mflops: 48.79 (N=1024) SOR Mflops: 239.02 (100 x 100) MonteCarlo: Mflops: 12.13 Sparse matmult Mflops: 124.10 (N=1000, nz=5000) LU Mflops: 190.80 (M=100, N=100) -large Composite Score: 93.48 FFT Mflops: 13.26 (N=1048576) SOR Mflops: 210.08 (1000 x 1000) MonteCarlo: Mflops: 12.13 Sparse matmult Mflops: 105.70 (N=100000, nz=1000000) LU Mflops: 126.21 (M=1000, N=1000) ------------- Delphi 6 ------------- Composite Score: 113.35 FFT Mflops: 61.75 (N=1024) SOR Mflops: 222.61 (100 x 100) MonteCarlo: Mflops: 19.43 Sparse matmult Mflops: 22.90 (N=1000, nz=5000) LU Mflops: 240.04 (M=100, N=100) -large Composite Score: 75.33 FFT Mflops: 8.11 (N=1048576) SOR Mflops: 201.46 (1000 x 1000) MonteCarlo: Mflops: 19.35 Sparse matmult Mflops: 22.63 (N=100000, nz=1000000) LU Mflops: 125.13 (M=1000, N=1000) ------------ VP 2.1 ------------- Composite Score: 90.69 FFT Mflops: 35.60 (N=1024) SOR Mflops: 174.16 (100 x 100) MonteCarlo: Mflops: 10.50 Sparse matmult Mflops: 125.57 (N=1000, nz=5000) LU Mflops: 107.63 (M=100, N=100) -large Composite Score: 39.06 FFT Mflops: 9.89 (N=1048576) SOR Mflops: 49.95 (1000 x 1000) MonteCarlo: Mflops: 10.53 Sparse matmult Mflops: 96.37 (N=100000, nz=1000000) LU Mflops: 28.54 (M=1000, N=1000) ------------- GPC 20050331 ------------- Composite Score: 302.10 FFT Mflops: 181.24 (N=1024) SOR Mflops: 262.38 (100 x 100) MonteCarlo: Mflops: 15.79 Sparse matmult Mflops: 448.57 (N=1000, nz=5000) LU Mflops: 602.53 (M=100, N=100) -large Composite Score: 109.90 FFT Mflops: 15.92 (N=1048576) SOR Mflops: 232.47 (1000 x 1000) MonteCarlo: Mflops: 15.85 Sparse matmult Mflops: 157.54 (N=100000, nz=1000000) LU Mflops: 127.74 (M=1000, N=1000) ------------- TMT 4.0 ------------- Composite Score: 128.21 FFT Mflops: 37.71 (N=1024) SOR Mflops: 251.69 (100 x 100) MonteCarlo: Mflops: 9.18 Sparse matmult Mflops: 145.64 (N=1000, nz=5000) LU Mflops: 196.85 (M=100, N=100) -large Composite Score: 94.43 FFT Mflops: 13.61 (N=1048576) SOR Mflops: 225.03 (1000 x 1000) MonteCarlo: Mflops: 8.95 Sparse matmult Mflops: 103.02 (N=100000, nz=1000000) LU Mflops: 121.57 (M=1000, N=1000) Результаты подводились на компьютере Pentium IV 1800 MHz 512KB/256KB L2 cache, Windows XP 5.1 Добавлено На данный момент ведёт компилятор GPC (GNU Pascal) с большим отрывом от конкурентов, а за ним FPC (Free Pascal). Надо заметить, что этот тест только для чисел с плавающей точкой (Floating Point operations). Прикреплённый файлscimark2_Benchmark.zip (10.1 Кбайт, скачиваний: 176) |
Сообщ.
#7
,
|
|
|
После проверки результатов для ТМТ выяснилось, что этот компилятор выходит на 2-е место. За ним, с небольшим отрывом, следует FPC.
Добавлено Что самое интересное, Дельфи оказался в числе отстающих... А Virtual Pascal совсем не показал себя в этих тестах. Может в других тестах эти компиляторы покажут себя лучше. Добавлено Я забыл указать ещё директиву {$apptype console} в исходниках. Она нужна для нормальной компиляции Дельфи и ТМТ. Вот добавился ещё тест для Дельфи 3... ------------- Delphi 3 ------------- Composite Score: 123.15 FFT Mflops: 43.61 (N=1024) SOR Mflops: 221.80 (100 x 100) MonteCarlo: Mflops: 19.61 Sparse matmult Mflops: 85.27 (N=1000, nz=5000) LU Mflops: 245.48 (M=100, N=100) -large Composite Score: 88.30 FFT Mflops: 7.97 (N=1048576) SOR Mflops: 201.04 (1000 x 1000) MonteCarlo: Mflops: 19.52 Sparse matmult Mflops: 86.01 (N=100000, nz=1000000) LU Mflops: 126.98 (M=1000, N=1000) Таким образом, ранние версии Дельфи оказываются быстрее чем новые. |
Сообщ.
#8
,
|
|
|
Цитата Romtek @ После проверки результатов для ТМТ выяснилось, что этот компилятор выходит на 2-е место. Что значит "после проверки"? Предыдущие результаты ты с потолка брал? Опять же... Какая версия использовалась? У меня, например, 3.90. Кто может сказать, на сколько он медленнее версии 4? |
Сообщ.
#9
,
|
|
|
Цитата AlexQ @ Это значит то, что ТМТ для винды у меня не было, и, следовательно, и резултатов тестирования тоже.Что значит "после проверки"? Цитата AlexQ @ С потолка я ничего не беру - это не про меня.Предыдущие результаты ты с потолка брал? Цитата AlexQ @ Смотрим внимательнее...Опять же... Какая версия использовалась? Цитата Romtek @ ------------- TMT 4.0 ------------- Цитата AlexQ @ Гарантировать ничего не могу. Эти вопросы - к разработчику компилятора. Но, мне кажется, большого разброса данных быть не должно. У меня, например, 3.90. Кто может сказать, на сколько он медленнее версии 4? Добавлено Хотя из описания компилятора вполне допустимо увеличение производительности: Цитата Изменения в компиляторе: * Улучшено качество генерируемого кода. |
Сообщ.
#10
,
|
|
|
Еще один тест, сравнивающий производительность компиляторов. В этом тесте сравнение производится по скорости следующих операций:
Таблицы содержат средние значения после 4-х запусков теста. (Процессор - Celeron 2000MHz, 256Мб RAM) Гистограмму можно посмотреть здесь FPC 2.0.0 Member Access Test: 12368 ms. Method Call Test: 14249 ms. Virtual Method Call Test: 20976 ms. Quick Sort Test: 1204 ms. Bubble Sort Test: 13163 ms. Tree Test: 1186 ms. PI Computation Test: 998 ms. String Concatenation Test: 18102 ms. Floating-point Test: 27726 ms. Strange atrr. Test: 9321 ms. Delphi 6 Member Access Test: 6421 ms. Method Call Test: 7774 ms. Virtual Method Call Test: 11531 ms. Quick Sort Test: 843 ms. Bubble Sort Test: 6403 ms. Tree Test: 998 ms. PI Computation Test: 765 ms. String Concatenation Test: 1734 ms. Floating-point Test: 42211 ms. Strange atrr. Test: 8143 ms. GPC 20050331 Member Access Test: 7704 ms. Method Call Test: 10562 ms. Virtual Method Call Test: 19547 ms. Quick Sort Test: 891 ms. Bubble Sort Test: 6953 ms. Tree Test: 1453 ms. PI Computation Test: 1422 ms. String Concatenation Test: 985 ms. Floating-point Test: 1703 ms. Strange atrr. Test: 187 ms. Virtual Pascal 2.1 Member Access Test: 7031 ms. Method Call Test: 0 ms. Virtual Method Call Test: 0 ms. Quick Sort Test: 610 ms. Bubble Sort Test: 7750 ms. Tree Test: 1110 ms. PI Computation Test: 625 ms. String Concatenation Test: 2047 ms. Floating-point Test: 0 ms. Strange atrr. Test: 10468 ms. Нулевые значения в тестах на скорость вызова статических и виртуальных методов (компилятор Virtual Pascal) говорят, видимо, о наличии проверки на "пустоту" метода, и вызовы таких методов просто игнорируются. Для запуска программы потребуется создать в рабочей директории ZIP файл Q3.ZIP размером НЕ МЕНЕЕ 10 мегабайт (содержимое не имеет значения, но сжатие не должно быть минимальным, я использовал Normal). Исходники теста (Паскаль): Прикреплённый файлfpc_bench.zip (4.56 Кбайт, скачиваний: 179) |
Сообщ.
#11
,
|
|
|
Показатели для SciMark2 в виде диаграммы:
Прикреплённый файлscimark2.PNG (5.88 Кбайт, скачиваний: 468) |
Сообщ.
#12
,
|
|
|
Показатели для SciMark2 LARGE в виде диаграммы:
Прикреплённый файлscimark2_large.PNG (6 Кбайт, скачиваний: 418) |
Сообщ.
#13
,
|
|
|
Romtek и volvo877. Спасибо за тестирование. Оказывается GPC рвёт остальные компиляторы как грелки. А я почему-то считал, что эффективнее TMT и FPC ничего нету. Наверное стоит поближе присмотреться к этому GPC
|
Сообщ.
#14
,
|
|
|
Всё зависит от решаемых задач. Наибольщее количество задач можно решить с помощью FPC (имхо), т.к. он почти на 100% совместим с Дельфи и поэтому на нём можно компилировать большинство программ (не VCL), написанных для Дельфи. Есть ещё и визуальное проектирование GUI программ с помощью Лазаруса (совместим с VCL). В итоге, спектр решаемых задач очень расширяется.
Что касается GPC, ТМТ и VP - они подходят, в основном, для консольных программ, для написания библиотек и т.д. Кроме того, с помощью можно ТМТ создавать неплохие мультимедийные приложения благодаря развитому модулю Graph на основе DirectX и множестве сторонних библиотек для звука (применимы и к другим компиляторам). Эти тесты показали преимущество GPC, в основном, в вычислениях, а в остальных у него результаты не не лучше (а то и хуже), чем у Дельфи. Короче, не всё так розово... Рынок компиляторов Объектного Паскаля ведёт именно Дельфи, поэтому относительно него и следует сравнивать. Надо выложить ещё свои результаты теста volvo877, а то там не хватает GPC. На ТМТ так и не удалось скомпилировать его тест. |
Сообщ.
#15
,
|
|
|
Тесты volvo877 на моём компьютере:
Delphi 6 Member Access Test: 5906 ms. Method Call Test: 7437 ms. Virtual Method Call Test: 10592 ms. Quick Sort Test: 672 ms. Bubble Sort Test: 5875 ms. Tree Test: 484 ms. PI Computation Test: 749 ms. String Concatenation Test: 1640 ms. Floating-point Test: 1172 ms. Strange atrr. Test: 6000 ms. FPC 2.0.0 Member Access Test : 9390 ms. Method Call Test: 11000 ms. Virtual Method Call Test: 14186 ms. Quick Sort Test: 936 ms. Bubble Sort Test: 10562 ms. Tree Test: 579 ms. PI Computation Test: 1030 ms. String Concatenation Test: 14921 ms. Floating-point Test: 24923 ms. Strange atrr. Test: 7701 ms. GPC 20050331 Member Access Test: 7422 ms. Method Call Test: 10016 ms. Virtual Method Call Test: 17843 ms. Quick Sort Test: 688 ms. Bubble Sort Test: 5453 ms. Tree Test: 657 ms. PI Computation Test: 1109 ms. String Concatenation Test: 922 ms. Floating-point Test: 1562 ms. Strange atrr. Test: 172 ms. VP Member Access Test: 8843 ms. Method Call Test: 8641 ms. Virtual Method Call Test: 10609 ms. Quick Sort Test: 813 ms. Bubble Sort Test: 8031 ms. Tree Test: 656 ms. PI Computation Test: 797 ms. String Concatenation Test: 5406 ms. Floating-point Test: 25344 ms. Strange atrr. Test: 25922 ms. Результаты подводились на компьютере Pentium IV 1800 MHz 512KB/256KB L2 cache, Windows XP 5.1 Добавлено По этим тестам Дельфи - бесспорный лидер. А тот же FPC - показал худшие результаты в большинстве тестов. |
Сообщ.
#16
,
|
|
|
А есть результаты сравнения работы функций ввода/вывода, работы с сокетами? Уверен что там слабое место многих компиляторов
|
Сообщ.
#17
,
|
|
|
Цитата STAKANOV @ У нас в наличии таковых нет. Опубликованные тесты были переведены с языков C/C++. Думаю, что Дельфи должен победить в тестах на ввод/вывод. А есть результаты сравнения работы функций ввода/вывода, работы с сокетами? Уверен что там слабое место многих компиляторов |
Сообщ.
#18
,
|
|
|
Народ, а никто не тестировал Delphi 2006 - там говорят, слегка прокачали компилятор, и Memory Manager новый...
|
Сообщ.
#19
,
|
|
|
Цитата Что касается GPC, ТМТ и VP - они подходят, в основном, для консольных программ, для написания библиотек и т.д. Перед такими закидонами надо ИМХО писать, а то наезд на PAS какой-то получается . |
Сообщ.
#20
,
|
|
|
Ну да, ТМТ там "вышел на второе место", а в следующих двух тестах не участвовал.. Что можно после этого говорить об объективности?
|
Сообщ.
#21
,
|
|
|
Цитата KIA @ У тебя есть в наличии версия TMT, позволяющая компилировать под Win32? You Are Welcome! Прогони тесты на всех компиляторах, и опубликуй результаты.Что можно после этого говорить об объективности? Мы просили людей, у которых есть TMT Multitarget принять участие в тестировании, как видишь, откликнулся мало кто. Так Цитата KIA @ Что можно после этого говорить об объективности? |
Сообщ.
#22
,
|
|
|
Вот тут возьми
http://arsuit.narod.ru/programming.htm |
Сообщ.
#23
,
|
|
|
Давать ссылки на варез не нужно. Ты просто скопилируй эти тестовые программы в ТМТ и выложи их сюда. Мы сами протестируем. Я пробовал скомпилировать, но с этим компилятором возникло много проблем, из-за чего я не стал с ним заморачиваться.
|
Сообщ.
#24
,
|
|
|
Цитата KIA @ Вот тут возьми http://arsuit.narod.ru/programming.htm Цитата Romtek @ Тем более, что в указанном месте ссылка идет ко мне на сайт, где ТМТ нет.Давать ссылки на варез не нужно. Цитата Romtek @ Romtek, ты себе устанавливал ТМТ? Какого рода были проблемы? Я пробовал скомпилировать |
Сообщ.
#25
,
|
|
|
Цитата KiRiK @ Это были всякие несовместимости с Delphi, в общих словах. Устанавливал только ради этого. ты себе устанавливал ТМТ? Какого рода были проблемы? |