Marco Arment posted a chart of the historical benchmarks performed on Apple devices. He appropriately asks, “Anyone else find the A8 step in this graph a bit sad? The party might be ending for mobile CPU advancements just like it did for PCs a few years ago.”
This same chart occurred in desktop and server CPUs. The overall throughput gains decelerated and speed gains are increasingly hard to come by. Single core performance leveled out very quickly. But parallelism (or multiple cores) brings bigger advantages to the table.
This chart is exactly why ArrayFire has a solid business. In order to get great performance from modern processors, software needs to be capable of utilizing multiple cores. Parallel programming is hard and ArrayFire makes it much easier.
In addition to optimizing CPU multi-core usage, ArrayFire is targeted at other devices that have even more parallelism than CPUs, such as GPUs. These devices are data-parallel and lead to even bigger throughput gains for many applications.
This technology trend chart is important to our business and important to understanding how modern computer processors are evolving. For more reading on this topic, see the series of 3 posts I wrote previously.
What are your thoughts on these mobile CPU benchmarks and parallel programming trends?