The actual speed of an (web)app is not the same as the perceived speed to the user. Research shows that users which are shown an loading skeleton are perceiving the website as faster.
Reframing potential issues is also an important concept to acknowledge. When rendering the app, while showing an loading skeleton or a spinner, users will rather blame their device or the network, while the web app actually is the bottle neck.
This is the reason, why loading spinners should always have a minimum duration. When the spinner is disappearing too fast, the page will be perceived as flickering. The React.js team choose to use a minimum duration of 0.3 seconds for the Suspense throttle.