Опубликованы (http://use.perl.org/article.pl?sid=07/05/25/0320245) результаты тестирования производительности Perl интерфейса (POGL) к OpenGL:- "C vs Perl (http://graphcomp.com/pogl.cgi?v=0111s3B1&r=s3m3)" - производительность OpenGL приложения на Си (GLUT) и Perl (POGL) оказалась почти одинаковой;
- "Perl vs Python (http://graphcomp.com/pogl.cgi?v=0111s3B2&r=s3m3)" - Perl (POGL) опередил Python (PyOpenGL) более чем на 20%;
- "POGL vs SDL::OpenGL (http://graphcomp.com/pogl.cgi?v=0111s3B3&r=s3m3)" - Perl (POGL) быстрее альтернативного модуля SDL::OpenGL на 60%;
- "Windows vs Linux (http://graphcomp.com/pogl.cgi?v=0111s3B0&r=s3m3)" - OpenGL приложение на Perl работает под Linux в 10 раз быстрее, чем под Windows Vista.
URL: http://use.perl.org/article.pl?sid=07/05/25/0320245
Новость: http://www.opennet.me/opennews/art.shtml?num=10902
нуну... верим верим... хехехе...
Перл рулит! :)Но требует мозга:)
Будете смеяться, но короткие фичи я пишу на PHP.
Зато круть всякую - только на Перле! Быстро! (исполняется).
>> "Windows vs Linux" - OpenGL приложение на Perl работает под Linux в 10 раз быстрее, чем под Windows Vista.А в Vista OpenGL вообще работает? Что-то я не заменит, да и M$ грозились что только DirectX будет работать...
ms грозились, что OpenGL будет работать через directx-прослойку вроде бы
заинтересованные люди уже написали набор библиотек чтобы директ-х 10 запустить под винХР.
кстати. этот набор библиотек увеличивает совместимость и скорость работы даже в висте...
помоему с древних времен опенгл поддерживается в виндовс разработчиками дров видеокарт, микрософт давно забило болт
скорее всего в винде софтверный опенгл работал
иначе такой отрыв просто нереален
Да и равенство между Perl и С вызывает сомнения.
пиарят рерла не иначе :)
После доводки руками С исходника, нормализации типов, оптимизация цикла
получилось:toshka:/tmp/ogl_bench/src # ./ogl_bench
OpenGL Benchmark - C BindingFBO Texture Rendering FPS: 370.190643
Teapot Shader FPS: 978.502625
Frame overhead secs/frame: 0.000037
OS/GLUT overhead secs/frame: 0.000005
Overall FPS: 265.587677toshka:/tmp/ogl_bench/src # ../ogl_bench.pl
OpenGL Benchmark - Perl BindingOpenGL: 2.1.0 NVIDIA 97.55
Vendor: NVIDIA Corporation
Renderer: GeForce Go 7600/PCI/SSE2FBO Texture Rendering FPS: 351.425671
Teapot Shader FPS: 959.501480
Frame overhead secs/frame: 0.000051
OS/GLUT overhead secs/frame: 0.000009
Overall FPS: 253.272871
Новости оптимизации :)По очереди:
GCC-4.2,
Sun Studio Express 12 C/C++ Compiler Collection,
Intel C/C++ 9.1
Perl 5.8.8 + OpenGL-0.55-6GCC:
FBO Texture Rendering FPS: 372.255280
Teapot Shader FPS: 980.419250
Frame overhead secs/frame: 0.000024
OS/GLUT overhead secs/frame: 0.000009
Overall FPS: 267.432526SUNCC:
FBO Texture Rendering FPS: 362.416870
Teapot Shader FPS: 974.691284
Frame overhead secs/frame: 0.000031
OS/GLUT overhead secs/frame: 0.000004
Overall FPS: 261.767792ICC:
FBO Texture Rendering FPS: 371.013519
Teapot Shader FPS: 979.459961
Frame overhead secs/frame: 0.000211
OS/GLUT overhead secs/frame: 0.000007
Overall FPS: 254.189941:PERL
FBO Texture Rendering FPS: 350.595010
Teapot Shader FPS: 951.728153
Frame overhead secs/frame: 0.000057
OS/GLUT overhead secs/frame: 0.000010
Overall FPS: 241.920549Вывод, Перл тут не причем, там вызов перловой библиотеки OpenGL.so,
которая так же скомпиляна на С и Перл по определению будет тормознее,
так как тратит кучу системных вызовов на запсук функций OpenGL.
Вот вам и разница в 10 FPS.
хе-хе, gcc-4.2 быстрее suncc и icc, не на много, но всё равно приятно:)
a GCC-3.4.6 в режиме -m32 ещё шустрее код делает.
C его помощью Overall FPS было где-то 268.с х...ем. :)
Ну и в догону про GCC, 4.1.1 и 4.1.2 по скорости кода одинаковы меж собой и 3.4.6,
но размер файла на 1-1.5% больше. Разбирать подробно не стал, но .code сегмент больше. :)
Есть мысль, что виновата glibc от SuSE 10.2. Я уж как-то писал тут, что за 2005,2006 года,
самый шустрый код получается,(ничего не меняя в дистрибутиве), у Mandrake 10.
Так что, Гентушники не обижайтесь.... Дистрибутив у Вас шустрый, но под нагрузкой в 6.4 GFlops, за 30 сек. он дохнет.
Может невнимательно читал, но мне кажется в случае тестирования с виндой были включены какие-то дополнительные фичи типа FSAA, выжидание обратного хода луча, сглаживание, отсюда и низкая производительность.
Ну и пусть :) микрософт же не гнушается открыто подтасовывать результаты в свою пользу.
>Ну и пусть :) микрософт же не гнушается открыто подтасовывать результаты в
>свою пользу.
Странный подход. Типа если Мелкософт подонки, то и нам можно..
Смайлик видел?
хех. вроде же не первое апреля :-)