Benchmark
- Forums:
Направих една малка сцена, която да служи като benchmark - да си сравняваме производителността на машините и ползите от различните оптимизации на компилатора и/или хардуерни бонуси като Hyper-threading, etc. Ето и инструкции как да си тествате машината:
Сцената е benchmark.fmiray, от последната ревизия (321).
Сменяте в main.cpp да се ренди нея и я пускате (в режим Release, по възможност и с пуснати SSE2 оптимизации).
Ако сте на многоядрена машина, можете да пуснете и един single-threaded рендер за да видите подобрението от паралелизацията (за целта разкоментирайте NUMTHREADS 1 реда в сцената).
След което пишете среда, компилатор, и хардуер и го поствате тука :)
Ето и няколко машини тук:
1. Core i7 920 (2.66GHz), 4 ядра с Hyper-threading (8 нишки)
Linux Fedora 11, gcc 4.4
::Резултати::
g++ -O2 @ 8 нишки: 16.9s.
g++ -O3 -ffast-math -msse -msse2 -mfpmath=sse @ 8 нишки: 13.3s.
g++ -O3 -ffast-math -msse -msse2 -mfpmath=sse @ 1 нишкa: 43.3s.
2. Asus Eee PC (Intel Atom N270 @ 1.6 GHz с Hyper-threading, 2 нишки)
Linux Ubuntu 9.10, gcc 4.4.1
::Резултати::
g++ -O2 @ 2 нишки: 290.2s.
g++ -O3 -ffast-math -msse -msse2 -mfpmath=sse @ 2 нишки: 203s. (30% подобрение)
g++ -O3 -ffast-math -msse -msse2 -mfpmath=sse @ 1 нишкa: 340 s. (Hyper-threading-ът помага с цели 67%)
После ще пусна и още резултати. Който желае - да тества :)
Comments
Benchmark
Интересно дали някой ще бие i7-цата =)
Core 2 Quad Q9505 (3.06GHz), 4 ядра без Hyper-threading
Microsoft Windows XP, Microsoft Visual Studio 2005
Without IT I'm just espr.
Още резултати
Още резултати:
1. Opteron 165 (1.8 GHz) двуядрен
Linux Slackware 12.1, gcc 4.2.3, оптимизации: -O3 -ffast-math -msse -msse2 -mfpmath=sse
::Резултати::
2. Core 2 Duo (Penryn, 6MB cache) @ 2.8 GHz двуядрен
::Резултати::
(* под "full optimizations" се има предвид: "floating point model" на "fast"; "inlining mode" на "any suitable"; "Optimizations" на "Full optimization (/Ox)"; "Whole program optimization" на "Yes/Link time code generation"; "Omit leaf frame pointer" на "Yes")
3. Duron Applebred @ 2025 MHz
Win XP SP2, Visual C++ 2003 без SSE (не се поддържат от процесора)
::Резултати::
Benchmark
HP Pavillion d4150.SE (AMD Athlon(tm) 64 Processor 4000+)
Linux Debian testing, gcc 4.3.4
::Резултати::
g++ -O2: 132 s.
g++ -O2 -ffast-math -msse -msse2 -mfpmath=sse: 106 s.
g++ -O3 -ffast-math -msse -msse2 -mfpmath=sse: 97 s.
Benchmark
HP Compaq 6820s (Intel(R) Core(TM)2 Duo CPU @ 2.00GHz, 2 нишки)
Linux Debian testing, gcc 4.3.4
::Резултати::
g++ -O2 @ 2 нишки: 61s.
g++ -O2 -ffast-math -msse -msse2 -mfpmath=sse @ 2 нишки: 50s.
g++ -O3 -ffast-math -msse -msse2 -mfpmath=sse @ 2 нишкa: 45s.
Ето и един пример за ползата
Ето и един пример за ползата от 64-битовия режим
Процесор: Intel Atom Z330 (двуядрен с Hyper-threading, 4 нишки) @ 1.6 GHz
OS: Linux Fedora 11 x86_64
Компилатор: gcc 4.4
32 bit настройки: -O3 -msse -msse2 -mfpmath=sse -m32
Резултат: 81.7s (4 нишки)
64 bit настройки: -O3 -msse -msse2 -mfpmath=sse
Резултат: 70.3s
Полза от 64-битовия режим: 16%
Phenom X6
Ето и резултат от една доволно нова и мощна машина - AMD Phenom X6.
А всъщност какво представлява
А всъщност какво представлява сцената? Колко полигона е, с какви настройки и как изглежда? Преинсталвах компа и в момента нямам даже и компилатор за С++ и не ми се занимава, затова питам :)
preview
около 17000 триъгълника.