System Performance

Pixel phones have been known to be among the best performing Android devices in the market. This is mainly due to the Pixel’s performance team taking the time and attention to tweak the software stack – kernel and userspace alike. This is one of the benefits of being one of the last flagships out of the gate for a given generation, as it gives time to optimize the performance. The Pixel 3 comes with the Snapdragon 845, and I’ve written many times this year how Qualcomm’s software, and in particular the kernel scheduler was a very significant factor as to why this year’s Snapdragon phones performed so marvellously.

One of the big questions I posed myself early in the year is exactly how Google planned to handle Qualcomm’s great divergence from upstream, and the divergence from the Google common kernel. As a reminder, the Google common kernel is now the “official” branch on which SoC vendors should be basing their BSP (board support packages, essentially the software stack) for their own products. This is a collaborative effort between vendors (Mainly Google, Qualcomm and Arm), and it’s also the target where Arm pushes its own EAS patches.

The matter of fact is, for the Pixel 3, Google is simply using Qualcomm’s custom scheduler. This is both a great win for Qualcomm given the expected device performance of the Pixel 3, and quite a blow to Arm’s own efforts, as the EAS improvements over the last year are just simply not being used. Qualcomm’s efforts as well as the resulting product are just too good to pass on, and I’m very much expecting next year to finally be a watershed moment where other vendors finally abandon attempts to keep things minimalistic, and in line with upstream Linux, and finally see the immense value in investing in actual immediate benefits for consumer devices of a given generation.

Starting with PCMark’s Web Browsing 2.0 test, the Pixel 3 leads the pack, with a slight advantage over other Snapdragon 845 phones. The reason here is that Google seemingly uses the most up-to-date scheduler, as well as has some possible file I/O advantages which I’ll get into a bit later. There are also possible OS side improvements in the libraries, as the Pixel 3’s ship with Android 9.

I’ve updated the performance results for past Pixels with the newest OS updates, as well as for devices like the OnePlus 6 as these have received their OS updates as well.

In the writing test, which is probably PCMark’s most important as well as representative benchmark, the Pixel 3 saw a big leap in performance over the previous Pixels – however I think this was due to Android 9 itself, as we also saw a big jump in the OnePlus 6’s performance with the latest OS update.

The photo editing test is very much a scheduler responsivity test as modern devices are able to complete the workloads relatively fast at their peak performance states. Here the score wildly fluctuates depending on how fast the DVFS mechanism is, and we see the Pixel 3 among the best performers.

The data manipulation score is extremely high on the Pixel 3 compares to other phones, including the OnePlus 6. I wasn’t able to verify this empirically, but glancing over the scheduler the Pixel has some unique updates to it which facilitate better responsiveness and scheduling of single big tasks, and the data manipulation test is such a workload with a big single-threaded component.

Overall, the Pixel 3 takes the top position in PCMark, all thanks to its scheduler improvements as well as a slight advantage due to it running Android 9.

Moving onto web browser tests, the Pixel 3 largely matches the other Snapdragon 845 devices. This is no surprise as Speedometer 2.0 is a high constant throughput ST benchmark, and as such isn’t as affected by scheduler as PCMark.

Apple still has a considerable performance lead here. After our recent iPhone XS review and SoC deep-dive, I’m more leaning towards the explanation that a big part of the advantage here is purely due to hardware and the microarchitectural advantages of Apple’s CPUs, with part of it also being Apple’s Nitro JS engine.

WebXPRT also looks in line with other Snapdragon 845 devices.

Pixel 3 – Now using F2FS

The Pixel 3 now has switched over from an EXT4 filesystem, to the F2FS filesystem. Google explains this switch due to the fact that F2FS now supports inline block encryption which has been the last major roadblock as to why Google hadn’t made the switch earlier.

Inline block encryption uses the SoC’s inline cryptographic engines, which just serve as an intermediate hardware layer to the NAND and offload any encryption workloads that were initially in past devices performed by the CPU.

The switch to F2FS now gives the Pixel 3 a number of advantages over previous filesystem; Previously, SQLite (which is used by almost all database files under Android) used another 'journaling' on its own to prevent corruption. This caused “double journaling” on top of EXT4, which in itself is a journaling filesystem. Since F2FS doesn’t need this kind of protection and the Pixel 3 includes Google’s SQLite changes in Android 8.1, the Pixel 3 is able to take advantage of this, as well as any other F2FS based device from other vendors which have the corresponding OS patches.

The result is that this will enable much higher write/commit speeds for SQLite, not to mention less wear and tear to the underlying UFS storage. Also, the Pixel 3 turned off barriers for fsync() system calls, which will improve general random I/O write speeds by a significant margin.

Another big improvement for file I/O is the implementation of “Host Performance Booster” in the kernel and UFS controller firmware stack. HPB is essentially caching of the NAND chip’s FTL (flash translation layer) L2P (logical to physical) mapping tables into the hosts (SoCs) main memory. This allows the host driver to look up the target L2P entry directly without betting on UFS’s limited SRAM to have a cache-hit, reducing latency and greatly increasing random read performance. The authors of the feature showcase an improvement of 59-67% in random I/O read performance due to the new feature. It’s worth to mention that traditional Android I/O benchmarks won’t be able to show this as as those tend to test read speeds with the files they’ve just created.

Overall, the Pixel 3 is the fastest Android device on the market right now. The one thing that puts it above other devices such as the OnePlus 6 is a noticeable faster response-time when opening applications – either a framework related boost or just an effect of the faster file I/O.

Post Your Comment

134 Comments

Agreed. I have a couple pairs of BT headpones and the convenience is nice... until the battery runs out when I'm boarding an international flight. I'm still using a Pixel XL as my daily driver and just ordered an LG v40. I also have an iPhone 8plus for app testing / demos and keeping track of the dongle is annoying.

I still haven't heard a compelling reason for removing the headphone jack beyond pedantic and otherwise pointless spec sheet glossing. I'll take a slightly thicker phone all day and everyday if it means a larger battery and the same goes for a phone with a headphone jack.Reply

What a rant! But what could you do except blather about "forcing the future" and "a few generations will have to deal with compromises"? That malarkey lost all meaning long ago; maybe you missed the memo.

I have a BT headset for when I want to listen and be mobile - only. Compared to my wired earbuds it's bulky, heavy, expensive, complex, requires setup, creates rub noise, *and* needs daily charging. Now - add a dongle with similar issues! In all those aspects, wireless is a regression even it if works flawessly. If we had only that, and someone invented wired phones, it would be hailed as a miracle because, where they are convenient, those have no equal.

So removing even the option of wired is stupid *unless* there is some major compensation for doing so. I don't see any, and you don't either.Reply

Rarely has a post resonated with me like this one has. I wholeheartedly agree.

Back when Apple announced, that they'd be dropping the minijack I thought "damit!" as I almost just had gotten a decent headset for my phone. I like to listen to music and the thought of having to accept wireless only irked me.

On the other hand, I am a tech enthusiast and had two years prior gotten my first tenure and therefore a decent salary - so I thought to myself; why not splurge and get a 'real' high end headset? I got myself the Beoplay H8 (around $350 I think) and haven't looked back.

My only alternatives was the Airpods or a headset similar to the B&O (Denon, Bose, Sennheiser, B&W and so on).

To me, it marked my final maturity into the form of 'good enough'-adulthood. I don't need 'wannabe pro'-performance or other pseudo/placebo. It just has to work, be good enough and reliable. Never really being able to put it into words until I read your post - and I totally agree.

I too used to claim, that only wired was good enough, until I got used to the comforts of WiFi.I too used to claim, that FireWire400/800 was infinitely superior to USB2.0/3.0, until I tried a newer USB3.0 external hard drive.I too used to claim, that only the golden terminals on my SoundBlaster Audigy was good enough for my MP3's until I realized it just doesn't matter.I too used to claim, that CDs was superior to AAC or whatever, until discovered the joy streaming music.I too used to claim, that the only way to enjoy movies was on bluray, until I realized I just wanna watch movies and not bother with stupid intros, trailers, copyright/piracy splashes - Netflix, HBO, Youtube (still ads, but 5 seconds is manageable).I too used to claim, that the only way to enjoy audio was on the B&W speakers via our NAD amp, until I realized bitrate doesn't determine how much I (or my kids) like a song or not.So on and so forth.

Today, I just don't bother anymore.

Music is best enjoyed when I don't have to untangle stupid wires first. I just put on my headset, turn them on, and instant music or Airplay to our wireless speakers around the house - provided the kids hasn't hidden them somewhere.

I guess people don't like change (I'm not claiming that they're stuck up or something, just that sometimes change doesn't seem rational when 'the old stuff seems to work just fine') and I like your point.

Let's get back to serial and parallel ports, so much easier, when different things use different ports. Today, everything is USB and it can be soooo confusing.Let's get back to when phones only used to be phones.Let's get back to when cameras was cameras.Let's get back to when portable music devices used cassette tapes.Let's get back to when cars was jump started by hand.Let's get back to using horses. Less pollution! (I honestly don't know, if replacing combustion based motor transportation with live stock would decrease pollution - XKCD/Randall are you reading this?)

I'm not that averse to new tech, provided it eventually (fairly quickly) surpasses what it is replacing. In the case of bluetooth (version 5 no less), we're still not there yet. My cheap (~$20) bluetooth headphones don't always work, have issues with: mediocre sound, noticeable audio lag, and have to be charged, and don't really last that long on a charge. By contrast, my cheap (~$8) wired headphones always work, have mediocre sound, no audio lag, don't need to be charged, and don't cause a small (but noticeable) drain on my phone's battery life.

Each of the other things you mentioned saddened me with the race to acceptance of mediocrity, though :( While I appreciate the conveniences of WiFi, I still plug my laptop in to wired connections when reasonably possible - it's just faster in all cases, and more reliable. That's kind of a problem with most new technology - I'm just not sure if the improved convenience of new technology always makes up for its shortcomings (hint: it only sometimes does).Reply

These kind of comments really annoy me. First of all, you are needlessly promoting planned obsolescence for no tangible benefit. Millions of headphones and speakers all over the planet will be thrown away for no good reason, except that Apple figured out a way to make more profits selling us dongles and Beats wireless headset. I have a hi-fi system that I bought in high school which will never work with Bluetooth. You are telling me to throw out a $1000 system, just because it doesn´t work with Bluetooth and replace it with Bluetooth speakers of lesser quality.

Bluetooth´s quality still isn´t as good as a wired audio. I have had very bad experience with Bluetooth ear buds. First, I bought some Apple-style ear buds, that don´t have a wire. Two days later, I was washing dishes and it slipped out of my ear and fell in the sink and the water destroyed it. Next, I bought a Bluetooth set with wires connected to a magnetic clip. I´m guessing that the clip wasn´t strong enough, because I lost it when walking. These experiences have convinced me to return to wired ear buds. Reply

Literally every bluetooth connection I have is problematic. I only have 2 left due to having so many issues with it. I HATE BT. I don't know who's fault it is, the accessory devices' implementation, or differences in phone manufacturers' implementation, but it doesn't really matter. I consistently have problems with it. It never just works for me. Reply

I have connection issues. When I turn my headphones on, sometimes they only grab the call audio output, but not the media audio output. I have to go into my bluetooth settings to fix it and that's a hassle, especially when I'm out in the winter with gloves on.Reply

I'm not gonna defend dropping the jack, but these instances where people swear they have to fiddle with settings each and every time they pair BT stuff can only be due to two things... Bad software (some phones/devices do have a shitty BT stack, and Google is often on the latest which doesn't always play nice with older stuff) AND/OR an incredibly noisy RF environment. I don't often encounter the latter, but I don't live in an apartment or the middle of NYC.Reply

Bluetooth audio bandwidth has actually not increased since BT2.1+EDR AFAIK (half a decade ago), a lot of vendors trip over themselves to boast about the BT spec supported by the chip in their products but that's just all it is... The A2DP profile hasn't seen major changes and most of the bandwidth improvements in latter BT spec revisions were for BT LE and wearable devices that started off at a much lower floor (than A2DP over 2.1+EDR).

The provisions for better 3rd party codecs like Sony's LDAC were even present in the BT spec all the way back then, that wasn't added in recent revisions, tho the codecs themselves have gotten better and now represent a decent improvement over stock SBC. I'm not knocking BT mind you, I think overall it's better implemented these days so there *has* been improvement in the user experience and SQ even if it's not due to spec revisions (and it's not).

I'm still not in favor of dropping the jack myself, but it's not a deal breaker for me. I use a BT adapter most of the time if I'm on the go (EarStudio ES100 right now) and have the dongle as a backup if that's out of battery. I have a pretty decent home setup tho and BT would absolutely be a bottleneck there, it still hasn't become totally transparent or enough for lossless the way the stereo BT profile is laid out AFAIK.Reply