Windows 3.11 loads in less than a blink of an eye on my Pentium MMX, while Windows 98 takes at least a minute to boot. This is with a 8 GB CF card as the HDD too, so the I/O is going as fast as possible.
It's because of drivers and PnP and especially USB. When you load Win3.1, WinNT4 and lower, drivers load without scanning for hardware presence. It's just a disk to memory copy. In Win95, the first PnP OS, it scans for PnP hardware at every boot. That's slow.
To prove my point, you could try loading some of the USB drivers for DOS or one of the ISA PnP configuration utilities (such as ICU - Intel Configuration Utility), see how fast it boots then!
Also, if you left the network config untouched, it defaults to TCPIP+DHCP, and when DHCP doesn't respond (cable unplugged), it's another 30s delay. Win311 didn't have TCPIP unless you install it manually. It also asks you to configure it during installation - less likely to select DHCP if you don't have it. And then, in Win311, network is started by DOS (NET START in autoexec.bat), not by Windows.
Besides the boot (which windows 3 didn't even do so I don't see why we are comparing it), from clicking on the start menu the 1st time after boot, to the start menu actually appearing on screen it would take 1-2 minutes to populate on windows 95, while on windows 3 on the same machine there would be no such issue.
Were you running a 386-16 MHz with 4 MB of memory? And you had hundreds of apps listed on the start menu? Because on anything faster it would absolutely not take that long.
It wasn't always instant on boot on my 486-SLC 33 MHz with 8 MB of memory but at most several to ten seconds for it to appear on first boot after clicking.
And on the Pentium MMX that I'm running now it's always instant on Windows 98 SE.