Tuesday, November 27, 2018

Poor Mac Performance Without an SSD

cocobandicoot (via Meek Geek):

I took a screen recording of how long it takes to open Safari on a brand new 5400 RPM iMac. Apple, this is ridiculous.

My workplace purchased a fleet of 5400 RPM computers for some basic typing and Web browsing needs. Every single one of them is this way. Opening Microsoft Word literally took over a minute before the icon stopped bouncing in the Dock.

Listen: I get it — I understand that some people don’t need top of the line computers. But regardless of who uses this computer, this is a poor user experience.

I used to be able to tell friends that even a low-end Mac would be a good experience. That they could get a base model and it would still be decent. That Apple doesn’t sell a “bad” computer; rather, they have “good, better, best” tiers. That is not the case anymore.

And this iMac isn’t even the base model! Insane.

I spent many years using Macs booted from hard drives, including a 4,200 RPM one in a MacBook Pro. You would think a modern iMac would be faster than that, both because of the CPU and because the larger capacity drives have a higher data density. But it sure seems like macOS performs worse than it used to if you don’t have an SSD.

Is this because there are more background processes that are accessing the disk? If so, is there anything that can be done about that? Within my apps, I try to limit concurrent operations on the same physical disk. You might think GCD would do something like this system-wide, but it doesn’t.

iMacs now use 2.5-inch notebook hard drives, presumably to make them thinner, but that doesn’t explain why Apple has chosen to use 5,400 RPM models rather than 7,200.

There are also software bottlenecks even on an SSD. Some customers have reported Mail on Mojave taking over a minute to launch, seemingly related to FSEvents monitoring a DataVault.

Update (2018-11-27): Colin Cornaby:

It’s really frustrating when you boot Windows from the same Mac and it’s running pretty well with a slow disk

Update (2018-11-28): Jonathan Fischer:

I bought a 2017 4K iMac a month or so after they launched, and I opted for the Fusion drive. It was miserable. My family complained, constantly. Finally swapped in an SSD last week and suddenly I’ve never used a faster computer.

nut_bunnies:

Guarantee the reason they don’t use 7200 rpm drives in the iMac is because it would be too loud for their standards. The terrible thermals in many of their computers are due to this, for example

Tijmen:

Sadly this has been the case since Mavericks I think. At that time we just had to upgrade our iMacs with SSDs as they became borderline unusable.

Update (2018-11-29): Steve Troughton-Smith:

It’s ridiculous just how badly macOS performs on a spinning disk. It was unconscionable to ship a product that performs this badly five years ago, never mind in 2018, yet the iMac line still comes with spinning disks by default

Update (2018-12-03): Eric Schwarz:

A family member’s 2012 Mac mini (8GB RAM and an i7) was painfully slow and replacing the hard drive with an SSD restored its performance to like-new (or better). The fleet of 2015-era iMacs at work have also gotten really awful, mirroring what others have said in the linked stories, so they’re getting SSD upgrades, as well.

Apple moving to an all-SSD future is completely reasonable, but making machines that are new or still under their factory warranty run worse than they should seems like a bad look, even if MacBooks are way more popular. It’s especially concerning when other operating systems appear to be fine.

16 Comments RSS · Twitter

This is nothing new. macOS became crippled on hard drives with the introduction of version 10.9 ("Mavericks"). I've read countless complaints about system performance from people with hard drives starting with that release. My own personal experience is similar - a fast 7200 RPM hard drive in a Mac mini just can't keep up with the demands of modern versions of macOS. The first launch of an app after login takes minutes. At least I've got 16GB of RAM so subsequent launches can load the app from cache, otherwise it would be intolerable.

I recall Apple saying (at some keynote - I think at WWDC) that Mavericks was "optimized for SSDs". Given the extent of this "optimization" and its disastrous effect on performance for computers booted from hard drives, Apple should have stopped shipping hard drives altogether at that point.

But they didn't. It was only very recently that they stopped shipping computers with hard drive-only storage systems, and their flagship iMac systems are still available with a "Fusion" drive that combines a hard drive with an SSD (which doesn't always improve performance as advertised).

Given the nature of macOS and the fact that Apple doesn't seem to think that there is a problem, I think it is reasonable to advise people that no currently-supported version of macOS should ever be allowed to boot from a hard drive. SSD only (whether internal, USB- or Firewire-attached) for startup disks. Leave the hard drives for data disks and backups where they won't cripple everything else.

"You might think GCD would do something like this system-wide, but it doesn’t."

As far as I know, GCD is quite buggy since the beginning when it comes to the Disk I/O QoS APIs (it just crashes randomly). Apple is aware of the problem through multiple bug reports but I havent't seen so far anything pointing out that the problem has been solved.

"that doesn’t explain why Apple has chosen to use 5,400 RPM models rather than 7,200"

Better margins => More money to Apple => More bonuses to the VPs ?

And iMac is still shipping with a HDD at the end of 2018.

If this is not evil I don't know what is.

Look at the iPad for a glimpse of the future. No slow drives, no meagre RAM options, no weak CPU models, just the good stuff. Macs deserve to have the good stuff and Apple is very slow to catch up.

Guillermo Enriquez

Not new. I have an iMac 21 inches from 2011 8 cores i7 but with a hard disk and it is really slow these days... :(

Sören Nils Kuklau

but that doesn’t explain why Apple has chosen to use 5,400 RPM models rather than 7,200.

One possible non-cynical explanation: higher RPMs generate more heat (and perhaps too much, at that).

(Of course, this is one of those self-imposed problems. Was making the iMac thinner really a problem that people clamored for and needed solving?)

Within my apps, I try to limit concurrent operations on the same physical disk. You might think GCD would do something like this system-wide, but it doesn’t.

From that article:

Both OS X and iOS adopt a more asynchronous approach to the execution of concurrent tasks than is traditionally found in thread-based systems and applications. Rather than creating threads directly, applications need only define specific tasks and then let the system perform them. By letting the system manage the threads, applications gain a level of scalability not possible with raw threads. Application developers also gain a simpler and more efficient programming model.

This suggests to me that GCD can lead to a similar folly as the TPL in .NET — CPU concurrency is great when you actually have CPU-bound work going on, but counterproductive in the many scenarios where your work is largely I/O-bound. It’s not clear to me if the dispatch_io_* calls are supposed to automatically distribute filesystem I/O in an efficient manner.

Glenn Fleishman

I can't figure out why this is so uneven. I have both a 2015 MacBook with an SSD and a 2017 iMac with a Fusion drive. I don't have any launch problems with High Sierra — is it related to Mojave? Is it some other factor? It's zippy fast for cold start and app launches.

I saw this too, and assumed it was changes in the virtual memory system, since I worked around it in an iMac by going to 12 GB of RAM. FSEvent monitoring didn't occur to me, since it seemed to happen across the board, but I guess that's plausible too. It reminds me of the switch to Obj-C garbage collection for Xcode 3: on a single-core system, the text editor couldn't keep up with my typing. On a dual CPU Mac Pro G5, it was only usable because the second CPU was pegged at 100% doing GC scans. Apple's response? "Yeah, single core systems kind of take it in the shorts. Too bad about that 3-year-old PowerBook, we use Core Duos now."

@Glenn I think the previous commenter is right that it started with 10.9. My guess is that your Fusion drive happens to be storing the relevant files on its SSD.

[…] Reports of Poor Mac Performance Without an SSD […]

First, my disclaimer:

I have never worked for any computer manufacturer in my life. I am under no NDA regarding my opinion about Apple. I speak only for myself.

That said, none of this is at all surprising to me. Apple has always had, since the Mac Plus, the arrogance of "We charge more so we must be the best." I was a fanboy myself when I had the money. Now I can safely say that I will never buy another Apple product again in my life. Now that Apple has abandoned their line of computers and is on the lookout for 'the next big new shiny thing' to keep its market cap afloat they have lost me as a customer. As I see it, Apple is trying to fight a twenty first century battle with a twentieth century mindset. They have left innovation behind and are running on fumes.

When or how it started is irrelevant. What is a bit more relevant is when and how it will end. Not with a bang but a whimper.

I've been an Apple customer since the Mac Classic and I don't agree with the "they've always been like this" notion. Yes, the have always charge premium prices, but it really is different now then say 10-15 years ago. They moved way further into the premium/luxury segment and almost entirely dropped the "premium but affordable" segment (the iPad 2018 is the current exception). And the new idea that services is to be milked for profit instead of helping hardware sales is really disappointing.

I do not agree that they "have left innovation behind" completely - both AirPods and Apple Watch are solid new innovative products with happy customers and what they are doing with their series of A-chips is just amazing.

But the state of Mac is worse, especially the MBP situation with Touch Bar and keyboards and soldered storage where thin and light is the priority above everything else and not what a lot of previously happy customers are asking fore. I'm still hoping that this will take a turn to the better again.

I would guess that the main cause for this is that most/all Apple Developers now use SSDs so it "runs fast enough on their machines". I think this is the main reason that software gets slower over time. Any little change can potentially make the software slower and the software is only optimized until it runs with decent performance on the developer's machines. Thus, over time, as developers get faster and faster hardware, software gets slower and slower. The only way to combat this is to force developers to dog food by giving them all old low spec machines.

[…] Poor Mac Performance Without an SSD […]

[…] iMac mit mechanischer Festplatte ist zwar günstig, erfordert von seinen Nutzern allerdings ein extrem hohes Maß an Geduld. Neben ultra-langen Startzeiten nervt die der zähe mechanische Festplattenzugriff auch während […]

[…] hard disk in any Mac. Recent versions of MacOS, whether because of system changes or APFS, simply do not work acceptably when running on hard disks. Fusion drives are not much better, but I understand why it is an […]

Leave a Comment