Skip to main content

Apple iPhone 6 And iPhone 6 Plus Review

The iPhone 6 and 6 Plus are bigger and better than ever, but are they a worthy upgrade for existing iPhone users? What if you previously passed over the iPhone because of its small screen, does it now merit a second look?

Test Results: HTML5 And JavaScript Benchmarks

The tests on this page are JavaScript- and HTML5-heavy selections from our Web Browser Grand Prix series. Such benchmarks are extremely meaningful to mobile devices because so much of the in-app content is served via the platform's native Web browser. These tests not only offer a view of each device's Web browsing performance, but since these tasks are traditionally so CPU-dependent, browser benchmarks (especially JavaScript-heavy tests) are a great way to measure SoC performance among devices using the same platform and browser.


Unlike most JavaScript performance benchmarks, JSBench could almost be considered real-world, since it utilizes actual snippets of JavaScript from Amazon, Google, Facebook, Twitter and Yahoo.

Nitro, the JavaScript engine in Apple’s Safari browser, uses a multi-tier strategy for interpreting/compiling JavaScript code. The first tier includes a very fast interpreter that skips the code compilation and optimization stage for code that executes only once or a few times, saving the CPU time and memory required for compiling. Each successive tier is optimized for code with longer execution times.

A lot of real-world JavaScript, which JSBench emulates, involves loading large amounts of dynamic code that runs for only short periods of time. Nitro’s first tier interpreter takes this kind of code from text to execution very quickly and is the reason why the iPhone does so well in this test.

Peacekeeper 2.0

Peacekeeper is a synthetic JavaScript performance benchmark from Futuremark.

For longer-running JavaScript code, Safari’s higher tiers compile the code using various optimization strategies. Many of these optimizations are already performed by traditional ahead-of-time compilers. Rather than trying to duplicate this effort, Safari in iOS 8 adds a fourth-tier LLVM-based just-in-time (JIT) compiler called FTL (Safari in iOS 7 uses a three-tier architecture). The FTL JIT applies many of the same optimizations to JavaScript code as LLVM does for C++ or Objective-C. Many of these optimizations benefit small blocks of code that run for longer periods of time, like image filters, compression codecs or physics simulation.

Peacekeeper just so happens to test many of these same tasks. Looking at the iPhone 5s, the benefits from the new FTL JIT are highlighted by a 34% jump in performance with iOS 8. Comparing the iPhone 6 to the 5s with iOS 8 shows a 13% improvement thanks to the A8 SoC.

WebXPRT 2013

Principled Technologies' WebXPRT 2013 is an HTML5-based benchmark that simulates common productivity tasks that are traditionally handled by locally installed applications, including photo editing, financial charting, and offline note-taking.

The iPhone 5s sees minimal improvement when running the new version of Safari in iOS 8 in WebXPRT 2013. The 6 Plus sees about a 15% improvement over the 5s, similar to the gain in Peacekeeper.

For some reason the iPhone 6 scores show a lot more variability (scores ranged from 425 to 554) than all of the other phones in this chart. After running the test several times, I threw out the lowest score and averaged the rest to arrive at the value shown in the chart. I’m not sure what’s causing this, but it’s not thermal throttling. It still feels cold after completing the benchmark and I didn’t notice this behavior with any of the other benchmarks we ran.