- SanDisk Extreme Pro 95 MB/s 32 GiB
- SanDisk Extreme Plus 80 MB/s 32 GiB
- SanDisk Extreme 45 MB/s 16 GiB
- SanDisk Ultra 30 MB/s 16 GiB
- Lexar Professional 600x 128 GiB
- Maxell MaxData 16 GiB
- SanDisk Ultra MicroSD 64 GiB
- Samsung MicroSD 32 GiB
Note that the last two are MicroSD cards, not regular SD cards. I threw them in because I had them and because they’re out there and surprisingly much cheaper per GiB than regular SD cards, so if they perform as well…
Be mindful of the capacity differences. Flash-memory-based devices usually – but not always – improve in performance as their capacity increases. This can be complicated if a like-branded range of cards vary their NAND flash process significantly (e.g. moving to TLC at higher capacities, from MLC). Ultimately it’s possible that the Lexar Professional 600x 128 GiB, for example, gets a bit of an “unfair” advantage by simple virtue of its size. Alas, I can only test what cards I actually have (though if you buy any of them from Amazon by following the links in this post, I’ll receive a small commission which I can use to acquire further cards for testing). And in any case, “fair” is subjective given the vastly differing prices for these cards – one might argue it’s only “fair” to compare them at the same price point, with an intrinsic advantage to those that provide more capacity at that price.
Nikon D7100 with the Nikon 50/1.8G, on a tripod, pointing at my computer screen. On that was played (full-screen) a time counter (a trivial app I wrote in all of ten minutes). The counter displays nothing other than a flat grey background and the counter itself in big black letters. Consistency is crucial between shots to ensure the camera is doing the same type and amount of processing, and that the file sizes are as consistent as possible.
Camera settings were:
- Continuous High shooting mode.
- 14-bit lossless-compressed RAW.
- DX area (i.e. not 1.3x crop).
- Auto white balance.
- Matrix metering.
- Manual focus (switched both on the lens and the camera body).
- Standard (SD) picture control.
- AdobeRGB colour space.
- Active-D Lighting was off.
- Long Exposure Noise Reduction was off.
- High ISO Noise Reduction was set to Normal.
- Exposure Delay Mode was off.
- For the ISO 100 shots, f/1.8 @ 1/500.
- For the ISO 800 shots, f/3.5 @ 1/500.
- For the ISO 6,400 shots, f/10 @ 1/500.
- Only one card in the camera at a time – the card under test – and in slot one.
- Image review off.
Note that these aren’t all the default camera settings. They’re what I typically use, more or less. The 1/500 shutter speed was simply the fastest I could reasonably do, exposure-wise, at ISO 100 – the faster the better to freeze the clock on screen.
I have not tested JPEG capture. It is faster and thus more tedious to test as it takes longer just to exhaust the camera’s buffer and get down to actually measuring the SD card’s performance. And I never shoot JPEG myself.
- Insert empty card under test.
- Set ISO 100, f/1.8, 1/500 (Manual mode, Auto-ISO off).
- Start timer.
- Hold down shutter button for about eleven seconds.
- Wait for SD activity LED on the back of the camera to turn off. Wait another five seconds for good measure.
- Repeat steps 3 through 5 twice more.
- Set ISO 800, f/3.5, 1/500.
- Repeat steps 3 through 6.
- Set ISO 6,400, f/10, 1/500.
- Repeat steps 3 through 6.
- Insert card into computer and read each image in sequence, entering the value of the timer captured by each shot into a spreadsheet, which aligns them so that the first shot always corresponds to t = 0.
Note in particular that I didn’t erase the SD card at any point during the test itself – only at the beginning. I have reason to believe that may be a source of a little error – during testing I saw evidence that some cards are very sensitive to their utilisation, w.r.t. performance. But as you’ll see from the results below, there was no consistent tendency for the second or third runs to slow down. I will be exploring performance vs utilisation at a later date, however.
At ISO 100 the average file size was just a little under 30 MiB. At ISO 800 it rose to around 37 MiB. At ISO 6,400 it was just over 40 MiB. Thus whatever difference in in-camera processing there may be is also conflated with the differing data rates.
Points of interest
- You would expect consistent behaviour for the first five or six shots, because those should all fit into the camera’s RAM buffer. But as you can see there’s quite clearly substantial variation there – and in some cases, like the SanDisk Ultra 30 MB/s 16 GiB, completely dropped shots. I don’t have an explanation for this – I’m reporting what I saw. My tentative hypothesis is that the camera starts flushing the buffer quite quickly, but in a way such that some kind of delay or ‘hiccup’ on the SD card’s part can prevent it taken further shots, despite room remaining in the RAM buffer.
- The SanDisk Ultra 30 MB/s 16 GiB shows a very strange behaviour – it not only causes the camera to drop shots during what should be the safe, predictable buffer period, but in one case you can see it actually somehow caused the camera to take one shot faster than it’s supposed to be able to – just ~100ms after the first. This seems inexplicable, so of course I checked the results for typos or other obvious errors. My only hypothesis is that a random glitch hit my computer and caused the on-screen timer to freeze temporarily – just for a fraction of a second – giving the impression less time had passed than had really. I never noticed any glitches while watching the timer, which I did for every single test run from start to finish, and I ensured my computer was otherwise completely idle during testing to avoid just such issues. So I don’t think, if this is even the root cause at all, that it’s a systematic issue (especially given that several of the cards measured as very consistent, implying an accurate and consistent timer). Nonetheless I am thinking about what else I could use as a timer instead, that wouldn’t suffer from such potential issues.
- Unsurprisingly [to me] the MicroSD cards performed distinctly worse than full-size SD cards. But what is interesting is that the Samsung MicroSD 32 GiB outperformed the full-size Maxell MaxData 16 GiB, slightly. The SanDisk Ultra MicroSD 64 GiB, on the other hand, comes in as not just the slowest of the lot but unpredictable to boot.
- The SanDisk Extreme Pro 95 MB/s 32 GiB takes the crown for average speed, but only barely – its younger sibling the SanDisk Extreme Plus 80 MB/s 32 GiB is close behind, but surprisingly (given its significantly lower cost per GiB) it’s the Lexar Professional 600x 128 GiB that only barely misses first place. However, note how the Lexar misses a shot completely in one of the test runs.
- But the SanDisk Extreme Pro 95 MB/s 32 GiB‘s speed comes at a stark cost – its shot intervals are very unreliable. Only the SanDisk Ultra MicroSD 64 GiB does worse in this regard.
Points of interest
- Now we start to see that RAM buffer stretched just a tiny bit too far – that sixth shot is now tending to come in just a little bit late.
- Overall things slow down a bit, and pretty consistently across all the cards, by about 25%. This isn’t surprising given that the file size has increased by about 25-30%. However, the SanDisk Extreme Pro 95 MB/s 32 GiB notably bucks this trend, slowing down by only 10%.
- The SanDisk Ultra MicroSD 64 GiB now yields much more regular performance, but the SanDisk Extreme Pro 95 MB/s 32 GiB retains its consistent inconsistency.
Points of interest
- In some ways not a huge difference from ISO 800, which isn’t surprising given the file size has only increased slightly. But there’s a lot more inconsistency now – witness the Maxell MaxData 16 GiB, Lexar Professional 600x 128 GiB & SanDisk Ultra 30 MB/s 16 GiB all dropping shots entirely (including again in the ostensibly buffer-only period, in the case of the SanDisk Ultra 30 MB/s 16 GiB). This was particularly surprising for the Lexar given its reliable performance prior, which is why I did an additional three runs to try to reproduce the glitches. As you can see, I couldn’t, but clearly there’s some unreliability there. In real-world use I have seen the Lexar Professional 600x 128 GiB drop shots like this, though it is very rare.
- The SanDisk Extreme Plus 80 MB/s 32 GiB is now just that little bit faster than the Lexar Professional 600x 128 GiB.
- The SanDisk Extreme Pro 95 MB/s 32 GiB maintains its significant and impressive performance delta, over all the other cards, as it established it at ISO 800.
It’s really just a three-horse race, between the SanDisk Extreme Pro 95 MB/s 32 GiB, the SanDisk Extreme Plus 80 MB/s 32 GiB, and the Lexar Professional 600x 128 GiB. But there is a clear winner, and that’s the SanDisk Extreme Pro 95 MB/s 32 GiB. It has noticeably better average continuous shooting speeds – especially as ISOs / file sizes increase – albeit with significant and consistently inconsistent shot-to-shot latency, which may annoy some people. I reason, however, that when you’re holding the shutter down like this you’re really spraying-and-praying, one way or another, so you’re not prescribing precise shot times to begin with. And I can’t say whether the tested behaviour of holding down the shutter button is representative of pressing the shutter repeatedly in rapid succession – it’s quite possible the behaviour is very different.
Second place I give it to the Lexar Professional 600x 128 GiB, but only just. It performs a little bit faster overall, but less consistently, than the SanDisk Extreme Plus 80 MB/s 32 GiB. What gives it the edge, however, is its vastly superior value – at time of writing it’s a full 50% cheaper at the 128 GiB capacity point (and cheaper albeit less dramatically at lower capacities).
Which leaves the SanDisk Extreme Plus 80 MB/s 32 GiB in third. But if you’re looking for strict reliability, and/or are less sensitive to price, then you could choose it over the Lexar.
After that, there’s a pretty significant drop in performance to the middle of the pack – the SanDisk Extreme 45 MB/s 16 GiB and the SanDisk Ultra 30 MB/s 16 GiB. Between those the SanDisk Extreme 45 MB/s 16 GiB is by far better. The SanDisk Ultra 30 MB/s 16 GiB is an unreliable card. Not just as shown in this tests; I’ve used several over the last few years, but increasingly briefly as I’ve learnt that they’re not just slow but prone to freezing for long periods, corrupting data, and generally sucking. I strongly recommend you never use them.
That said, you can do worse: the Maxell MaxData 16 GiB and both the MicroSD cards – both the SanDisk Ultra MicroSD 64 GiB and the Samsung MicroSD 32 GiB – turn in comically bad performance. They were frustrating to test because each individual burst of shots took longer to flush to the SD card than the entire three-run set on the faster cards. Don’t ever use them.
My final rank, based primarily on performance and reliability:
- A+ SanDisk Extreme Pro 95 MB/s 32 GiB
- A Lexar Professional 600x 128 GiB
- A SanDisk Extreme Plus 80 MB/s 32 GiB
- B SanDisk Extreme 45 MB/s 16 GiB
- D- SanDisk Ultra 30 MB/s 16 GiB
- F Maxell MaxData 16 GiB
- F SanDisk Ultra MicroSD 64 GiB
- F Samsung MicroSD 32 GiB
- My review of some of these exact same cards in a Nikon Df (in particular to see the contrast in performance between two ostensibly same-generation cameras).
- Reviews of many of the same cards by The Wirecutter, with differing results in some cases (quite possibly because they used a Canon T4i – performance does vary by camera).
- Chuck Steenburgh’s exhaustive review of no less than 37 (!!) SD cards, also in a D7100, but using a different methodology. His results broadly agree with mine but are less detailed.
- An extremely comprehensive albeit slightly dated database of cameras (Nikon & Canon) and SD, CF & XQD cards, by Rob Galbraith.