Um die Leistungsfähigkeit der einzelnen Frameworks und der Hardware auszuprobieren, habe ich einen möglichst einfachen Raytracer als visuellen Benchmark verwendet.
Ein Raytracer ist deshalb gut geignet weil er,
Die folgende Tabelle zeigt einen Vergleich.
| Sprache | Technik | CPU/GPU | Cores/SMs/Threads | Avg FPS/s | Min FPS/s | Max FPS/s |
|---|---|---|---|---|---|---|
| C++ | Sequentiell | CPU | 1 Core = 1 Thread | --.-- | --.-- | --.-- |
| C++ | POSIX Threads (pthreads) | CPU | 4 Cores * 2 Hyperthreads = 8 Threads | --.-- | --.-- | --.-- |
| C++ | OpenMP | CPU | 4 Cores * 2 Hyperthreads = 8 Threads | --.-- | --.-- | --.-- |
| C++ | NVIDIA CUDA | GPU | 16 SM = 512 Cores = 512 Threads | --.-- | --.-- | --.-- |
| C++ | OpenCL | GPU | 16 SM = 512 Cores = 512 Threads | --.-- | --.-- | --.-- |
| C++ | Cell-Prozessor | CPU | 6 SPUs | --.-- | --.-- | --.-- |
| Haskell | Sequentiell | CPU | 1 | --.-- | --.-- | --.-- |
| Haskell | par |
CPU | 4 Cores * 2 Hyperthreads = 8 Threads | --.-- | --.-- | --.-- |
| Java | Sequentiell | CPU | 1 | --.-- | --.-- | --.-- |
| Java 7 | ForkJoinPool |
CPU | 4 Cores * 2 Hyperthreads = 8 Threads | --.-- | --.-- | --.-- |
Haben Sie Fragen? Dann schicken Sie mir doch eine Email!
Copyright © 2007-2012 Jörn Dinkla. All rights reserved.