Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

imp3rator

macrumors 6502a
Original poster
Dec 25, 2019
534
467
Look at this ad :

My question is - some apps like pages, numbers or whatsapp opens in few second (4-6) from cold start (never in memory).
Some apps like reminders or notes (probably simplier) opens almost instantly from cold start (1 second).
Yes performance on M1 is superb but not that "instantly fast" as can be... :)

But M1 cpu is loaded for 20-30%... So cpu is not "bottleneck"

M1 Pro or Max users - does your apps - like pages or whatsapp opens instantly ? Or what is bottleneck ? SSD ? RAM?

What "parameters" does hardware should have if apps would open constantly like from RAM... ?
Faster read ssd speed for smaller files ? Faster RAM ?

Thanks for answers !

EDIT : Whatsapp is still "Intel" app... but Numbers or Pages are native apps...
 
Last edited:

throAU

macrumors G3
Feb 13, 2012
9,199
7,354
Perth, Western Australia
Some of the startup time of modern apps is waiting on the network.

Whatsapp, pages, numbers are all talking to the network to log in, look up your iCloud recent documents, etc. You can have the fastest machine in the universe, if you’re still waiting on the network there will be delays.

My M1 pro is fast, but loading small apps is not really any different to a regular M1.

You may find apps load faster if you turn your wifi off :D. If they can’t talk to the network at all they won’t be trying to log in and waiting for it.


Startup time is not too important tbh. More important is how well they run once loaded.

Load your apps, keep them open in the background for the most part. My macs normally get rebooted for updates only, otherwise they just get put to sleep.
 

JPack

macrumors G5
Mar 27, 2017
13,544
26,168
What "parameters" does hardware should have if apps would open constantly like from RAM... ?
Faster read ssd speed for smaller files ? Faster RAM ?

If the app fits within the 12MB L2 cache, you'll see this.
 

Krevnik

macrumors 601
Sep 8, 2003
4,101
1,312
But M1 cpu is loaded for 20-30%... So cpu is not "bottleneck"

Which is expected. App boot is very much I/O bound, as it's about taking a lot of stuff that's on disk or on the network and bringing it into RAM.

Some of the startup time of modern apps is waiting on the network.

Not just networking, but how serial app startup can be on startup, especially in older projects where dependencies have become snarled or complicated. So it becomes a lot of "Wait to get X, do a thing, wait to get Y, do a thing, etc".

Dynamic linker can be a pain at times too, since the time it takes scales with the complexity of the app as well, and of the dependencies. One reason static linking has been favored on iOS.
 
  • Like
Reactions: throAU and kc9hzn

imp3rator

macrumors 6502a
Original poster
Dec 25, 2019
534
467
Thanks for technical answers... So Theoretically - better one core performance, better "small blocks / files" read speed and faster RAM can optimize load time to minimum...
 

mds1256

macrumors regular
Apr 9, 2011
167
43
I find apps like MS Office (word/excel) open quicker on an Intel Mac than they do on an M1 and M1 Pro. M1 the app bounces for around 8-10 seconds before opening word where as with an Intel it used to be like 3-4 seconds - cold start (using AS version)
 
  • Like
Reactions: nquinn

wonderings

macrumors 6502a
Nov 19, 2021
957
947
I have an M1 Max and Pages opens pretty much instantaneously, make 2 seconds after I click on the icon. Over all apps load incredible fast, my main apps are Adobe Indesign, Illustrator, Photoshop and Acrobat DC, all run very very well with the M1 Max.
 

imp3rator

macrumors 6502a
Original poster
Dec 25, 2019
534
467
From cold start (restarted mac and first run ?) Mine opens after 5 seconds... (numbers, pages...)
Reopen after close is instant (probably in "cache" or swap ?)...
 

darngooddesign

macrumors P6
Jul 4, 2007
18,366
10,122
Atlanta, GA
Look at this ad :

My question is - some apps like pages, numbers or whatsapp opens in few second (4-6) from cold start (never in memory).
Some apps like reminders or notes (probably simplier) opens almost instantly from cold start (1 second).
Yes performance on M1 is superb but not that "instantly fast" as can be... :)

But M1 cpu is loaded for 20-30%... So cpu is not "bottleneck"

M1 Pro or Max users - does your apps - like pages or whatsapp opens instantly ? Or what is bottleneck ? SSD ? RAM?

What "parameters" does hardware should have if apps would open constantly like from RAM... ?
Faster read ssd speed for smaller files ? Faster RAM ?

Thanks for answers !

EDIT : Whatsapp is still "Intel" app... but Numbers or Pages are native apps...
All things being equal, an app which has to load a lot of things initially at startup will feel slower to launch.

There are ways to cheat this perception, by progressively loading app resources as you start using it. For example, Numbers loads instantly for me because all that initially opens is a file browser; it can load the rest of the app in the background so there is no perception of lag.
 
  • Like
Reactions: throAU

nquinn

macrumors 6502a
Jun 25, 2020
829
621
I find apps like MS Office (word/excel) open quicker on an Intel Mac than they do on an M1 and M1 Pro. M1 the app bounces for around 8-10 seconds before opening word where as with an Intel it used to be like 3-4 seconds - cold start (using AS version)

MS apps in particular are horrible about this. I actually remember when I first came over to macOS I found that nearly every app took longer to launch.

I think Windows does a better job of pre-fetching apps in cache or something. (I got my first macbook in 2011, and had an SSD in 2014, and found that Office Apps regularly launched faster on my parents' PC desktop with an HDD than on my macbook with an SSD).
 

Freeangel1

Suspended
Jan 13, 2020
1,191
1,755
I find apps like MS Office (word/excel) open quicker on an Intel Mac than they do on an M1 and M1 Pro. M1 the app bounces for around 8-10 seconds before opening word where as with an Intel it used to be like 3-4 seconds - cold start (using AS version)
Thats a plus for those of us on Intel Macs or mackintosh. Mac up and running on new i9 Alder Lake 16 core CPU's.

 

Technerd108

macrumors 68040
Oct 24, 2021
3,062
4,313
Thats a plus for those of us on Intel Macs or mackintosh. Mac up and running on new i9 Alder Lake 16 core CPU's.

Seems to me that M1 Pro and Max using a year plus old architecture does really well against Intel's desktop processor. Sure Intel beats it but most people don't want a Hackintosh and there will be a point where Apple no longer supports x86 so I am not sure what the point here is?

M1 and M1 Pro and Max all have essentially the same single core score. Once Apple gets AS to 3nm and is able to boost clock speeds moderately they will leapfrog again with even less power draw and heat! Intel is going to take a LONG while before they get to 5nm let alone 3nm so...plus by that time I would imagine new OS updates for Intel will have stopped.
 
Last edited:

Krevnik

macrumors 601
Sep 8, 2003
4,101
1,312
MS apps in particular are horrible about this. I actually remember when I first came over to macOS I found that nearly every app took longer to launch.

I think Windows does a better job of pre-fetching apps in cache or something. (I got my first macbook in 2011, and had an SSD in 2014, and found that Office Apps regularly launched faster on my parents' PC desktop with an HDD than on my macbook with an SSD).

When talking about Office, it's a prime example of older code that has a lot of snarled dependencies and requirements for startup. And since it's common code acting on two different platforms, you can have fast/slow paths on a given platform doing things like enumerating fonts and the like on boot.

But yes, I agree that Windows can launch things faster than macOS, but there's a lot architecturally that differs in what needs to be done before "main()" on an app can execute as well. Even if an app wasn't cached, SSDs should be fast enough to load the binaries very quickly. At least on the project I worked on, one of our biggest enemies was the dynamic linker itself. It really doesn't like large complicated apps.
 

nquinn

macrumors 6502a
Jun 25, 2020
829
621
When talking about Office, it's a prime example of older code that has a lot of snarled dependencies and requirements for startup. And since it's common code acting on two different platforms, you can have fast/slow paths on a given platform doing things like enumerating fonts and the like on boot.

But yes, I agree that Windows can launch things faster than macOS, but there's a lot architecturally that differs in what needs to be done before "main()" on an app can execute as well. Even if an app wasn't cached, SSDs should be fast enough to load the binaries very quickly. At least on the project I worked on, one of our biggest enemies was the dynamic linker itself. It really doesn't like large complicated apps.
How do dynamic linkers work exactly that slows things down like this? Seems like once apps are compiled it shouldn't be an issue. It does seem insane to me though with 5000Mbps NVME SSDs and insanely fast cpus with integrated memory that word doc and spreadsheet apps can take 7-8s to load.
 

Krevnik

macrumors 601
Sep 8, 2003
4,101
1,312
How do dynamic linkers work exactly that slows things down like this? Seems like once apps are compiled it shouldn't be an issue. It does seem insane to me though with 5000Mbps NVME SSDs and insanely fast cpus with integrated memory that word doc and spreadsheet apps can take 7-8s to load.

To be fair, Word and Excel are probably some of the most complicated apps on the market today, in part due to their age and compatibility requirements.

A compiled app still needs to be dynamically linked at runtime. What's done at compile time is done to ensure that the dynamic linker (dyld) has what it needs at runtime. Static linking doesn't require extra steps at runtime, but also means you can't substitute one library for another without recompiling. This last bit is important, because it is why you dynamically link in the first place.

Consider the simple case of an app that references AppKit. Every symbol (which can be a function, class information symbol, etc) the app uses from AppKit is recorded as a reference in the binary as part of the linker step when compiling. This makes it possible that any compatible version of AppKit can be loaded and linked using the symbol tables contained in both binaries. This enables apps to pick up OS-level bugfixes without rebuilding, and not having to recompile for every OS release. But to enable that, dyld is responsible for crawling the symbol tables and making that final link between the binaries themselves. IIRC, because of how Objective-C constants work, things like constant NSStrings exported by AppKit get their own symbols as well, and so you have to link those at runtime too.

If an app references a lot of binaries, and/or imports an excessive number of symbols, it leads to dyld being very slow. Especially if a developer has a lot of libraries that all depend on system libraries (you get a sort of amplification effect of having to link the same system library to multiple frameworks, and then your app). You can improve things by trying to reduce the set of things you need to link at app start, but this is one area where Windows does have an edge: Windows supports delay loading DLLs, but macOS doesn't support the same sort of functionality last I checked. Instead I'd have to manually do the dynamic loading/execution of the binary like I would a plugin binary. Hard to reuse C++ types this way, for example.

When iOS added support for building frameworks (and thus you could dynamically link to non-OS libraries for the first time), there were some rather ugly performance issues with the functionality: https://github.com/stepanhruda/dyld-image-loading-performance. Prior to iOS 8, you could only statically link on iOS, which bypasses a lot of the startup pain that dlyd induces. That said, this is a space that I know Apple has taken multiple passes on trying to improve the performance of dyld because while it works well for the sort of single-purpose apps that Apple likes to build on iOS/macOS, it has issues with the larger apps like Xcode, Office, Photoshop, etc.

But the truth is that every app is different, and their performance issues on startup will be different as well. But to give you an idea: Outlook on the Mac has 71 frameworks and dylibs in its bundle. Word has 65. Microsoft Word's app bundle is 2.2GB and over 700MB of that is in the Frameworks folder. Multiple Mach-O binaries are 20+ MB in size, with a couple creeping up on 70MB. That's a lot of stuff to link together, even accounting for the doubling up of size from them being Universal binaries.
 
  • Like
Reactions: nquinn

throAU

macrumors G3
Feb 13, 2012
9,199
7,354
Perth, Western Australia
Seems to me that M1 Pro and Max using a year plus old architecture does really well against Intel's desktop processor. Sure Intel beats it but most people don't want a Hackintosh and there will be a point where Apple no longer supports x86 so I am not sure what the point here is?

M1 and M1 Pro and Max all have essentially the same single core score. Once Apple gets AS to 3nm and is able to boost clock speeds moderately they will leapfrog again with even less power draw and heat! Intel is going to take a LOG while before they get to 5nm let alone 3nm so...plus by that time I would imagine new OS updates for Intel will have stopped.
that alder lake machine is likely consuming 250 watts for the cpu for that. or about 10x the cpu power consumption in m1 pro/max

it has a few mac enclosures worth of cooling component volume.

winning against a laptop cpu in 10x the power and heat? gg intel i guess
 
  • Like
Reactions: Technerd108

killawat

macrumors 68000
Sep 11, 2014
1,961
3,609
I remember back in the day photoshop would take like a minute and change to load up.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.