Thank you for that.
I anticipated it would take a while, so I started MusicBee when I went to bed and left it running until completion, almost... er... six hours later.
The error log was enough for me to find the cause of the problem, and happily it isn't MusicBee.
I'll edit my previous post to remove any potential future confusion.
THE SHORT ANSWERThe lengthy scanning time was caused by my
Excluded folders somehow getting removed from the
Library settings.
(I don't recall changing these recently, but can't make MusicBee replicate it now, so will assume I did it when testing something)
Because my music files are stored on a QNAP NAS, this meant MusicBee was also scanning an extra 150,000+ files from the
Snapshot folder it creates for backups.
Excluding the Snapshot directory again means MusicBee starts up and completes a full library scan (i.e. with the settings in my previous screenshot) in about five minutes.
THE LONG ANSWEROne has to ask: Why does scanning the additional files in the QNAP Snapshot folder take so much longer?
This is purely speculation, but I think it has to do with how QNAP creates snapshots that allow altered or deleted files to be restored from an earlier version. Their documentation is a bit vague, but does mention that instead of just creating whole copies of every file - which obviously doubles the disk space requirement - the snapshot only stores what data has
changed from the current version. It does this at the block level. While it is possible to browse the snapshot files via Windows File Explorer - and copy them or open them - I suspect that when doing so, the NAS is essentially reading both the original file data
and the snapshot data to present Windows with what appears to be a normal file. This obviously incurs an overhead on each file. Similarly, when MusicBee scans the Snapshot folder files 100,000 times, the NAS has to internally recreate each one to present it as a "normal" Windows file entry for MusicBee to read.
Even just looking at one random album in the debug log shows the difference. I picked the soundtrack to the film
The Abyss.
The log file doesn't measure milliseconds, but it shows the original library files were all processed in less than one second:
6/11/2023 5:05:54 AM - load file M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\01 - Main Title.flac
6/11/2023 5:05:54 AM - link PDFs M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\01 - Main Title.flac
6/11/2023 5:05:54 AM - link artwork M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\01 - Main Title.flac
6/11/2023 5:05:54 AM - load file M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\02 - Search the Montana.flac
6/11/2023 5:05:54 AM - link PDFs M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\02 - Search the Montana.flac
6/11/2023 5:05:54 AM - link artwork M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\02 - Search the Montana.flac
6/11/2023 5:05:54 AM - load file M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\03 - The Crane.flac
6/11/2023 5:05:54 AM - link PDFs M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\03 - The Crane.flac
6/11/2023 5:05:54 AM - link artwork M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\03 - The Crane.flac
6/11/2023 5:05:54 AM - load file M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\04 - The Manta Ship.flac
6/11/2023 5:05:54 AM - link PDFs M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\04 - The Manta Ship.flac
6/11/2023 5:05:54 AM - link artwork M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\04 - The Manta Ship.flac
6/11/2023 5:05:54 AM - load file M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\05 - The Pseudopod.flac
6/11/2023 5:05:54 AM - link PDFs M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\05 - The Pseudopod.flac
6/11/2023 5:05:54 AM - link artwork M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\05 - The Pseudopod.flac
6/11/2023 5:05:54 AM - load file M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\06 - The Fight.flac
6/11/2023 5:05:54 AM - link PDFs M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\06 - The Fight.flac
6/11/2023 5:05:54 AM - link artwork M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\06 - The Fight.flac
6/11/2023 5:05:54 AM - load file M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\07 - Sub Battle.flac
6/11/2023 5:05:54 AM - link PDFs M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\07 - Sub Battle.flac
6/11/2023 5:05:54 AM - link artwork M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\07 - Sub Battle.flac
6/11/2023 5:05:54 AM - load file M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\08 - Lindsey Drowns.flac
6/11/2023 5:05:54 AM - link PDFs M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\08 - Lindsey Drowns.flac
6/11/2023 5:05:54 AM - link artwork M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\08 - Lindsey Drowns.flac
6/11/2023 5:05:54 AM - load file M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\09 - Resurrection.flac
6/11/2023 5:05:54 AM - link PDFs M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\09 - Resurrection.flac
6/11/2023 5:05:54 AM - link artwork M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\09 - Resurrection.flac
6/11/2023 5:05:54 AM - load file M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\10 - Bud's Big Dive.flac
6/11/2023 5:05:54 AM - link PDFs M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\10 - Bud's Big Dive.flac
6/11/2023 5:05:54 AM - link artwork M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\10 - Bud's Big Dive.flac
6/11/2023 5:05:54 AM - load file M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\11 - Bud on the Ledge.flac
6/11/2023 5:05:54 AM - link PDFs M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\11 - Bud on the Ledge.flac
6/11/2023 5:05:54 AM - link artwork M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\11 - Bud on the Ledge.flac
6/11/2023 5:05:54 AM - load file M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\12 - Back on the Air.flac
6/11/2023 5:05:54 AM - link PDFs M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\12 - Back on the Air.flac
6/11/2023 5:05:54 AM - link artwork M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\12 - Back on the Air.flac
6/11/2023 5:05:54 AM - load file M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\13 - Finale.flac
6/11/2023 5:05:54 AM - link PDFs M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\13 - Finale.flac
6/11/2023 5:05:54 AM - link artwork M:\Music\[Soundtrack]\Movie\A-D\Abyss, The [1989]\13 - Finale.flac
The same files in the Snapshot folder took at least three seconds:
6/11/2023 8:12:41 AM - load file M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\01 - Main Title.flac
6/11/2023 8:12:42 AM - link PDFs M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\01 - Main Title.flac
6/11/2023 8:12:42 AM - link artwork M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\01 - Main Title.flac
6/11/2023 8:12:42 AM - load file M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\02 - Search the Montana.flac
6/11/2023 8:12:42 AM - link PDFs M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\02 - Search the Montana.flac
6/11/2023 8:12:42 AM - link artwork M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\02 - Search the Montana.flac
6/11/2023 8:12:42 AM - load file M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\03 - The Crane.flac
6/11/2023 8:12:42 AM - link PDFs M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\03 - The Crane.flac
6/11/2023 8:12:42 AM - link artwork M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\03 - The Crane.flac
6/11/2023 8:12:42 AM - load file M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\04 - The Manta Ship.flac
6/11/2023 8:12:42 AM - link PDFs M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\04 - The Manta Ship.flac
6/11/2023 8:12:42 AM - link artwork M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\04 - The Manta Ship.flac
6/11/2023 8:12:42 AM - load file M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\05 - The Pseudopod.flac
6/11/2023 8:12:42 AM - link PDFs M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\05 - The Pseudopod.flac
6/11/2023 8:12:42 AM - link artwork M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\05 - The Pseudopod.flac
6/11/2023 8:12:42 AM - load file M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\06 - The Fight.flac
6/11/2023 8:12:43 AM - link PDFs M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\06 - The Fight.flac
6/11/2023 8:12:43 AM - link artwork M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\06 - The Fight.flac
6/11/2023 8:12:43 AM - load file M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\07 - Sub Battle.flac
6/11/2023 8:12:43 AM - link PDFs M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\07 - Sub Battle.flac
6/11/2023 8:12:43 AM - link artwork M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\07 - Sub Battle.flac
6/11/2023 8:12:43 AM - load file M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\08 - Lindsey Drowns.flac
6/11/2023 8:12:43 AM - link PDFs M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\08 - Lindsey Drowns.flac
6/11/2023 8:12:43 AM - link artwork M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\08 - Lindsey Drowns.flac
6/11/2023 8:12:43 AM - load file M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\09 - Resurrection.flac
6/11/2023 8:12:43 AM - link PDFs M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\09 - Resurrection.flac
6/11/2023 8:12:43 AM - link artwork M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\09 - Resurrection.flac
6/11/2023 8:12:43 AM - load file M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\10 - Bud's Big Dive.flac
6/11/2023 8:12:44 AM - link PDFs M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\10 - Bud's Big Dive.flac
6/11/2023 8:12:44 AM - link artwork M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\10 - Bud's Big Dive.flac
6/11/2023 8:12:44 AM - load file M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\11 - Bud on the Ledge.flac
6/11/2023 8:12:44 AM - link PDFs M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\11 - Bud on the Ledge.flac
6/11/2023 8:12:44 AM - link artwork M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\11 - Bud on the Ledge.flac
6/11/2023 8:12:44 AM - load file M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\12 - Back on the Air.flac
6/11/2023 8:12:44 AM - link PDFs M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\12 - Back on the Air.flac
6/11/2023 8:12:44 AM - link artwork M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\12 - Back on the Air.flac
6/11/2023 8:12:44 AM - load file M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\13 - Finale.flac
6/11/2023 8:12:44 AM - link PDFs M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\13 - Finale.flac
6/11/2023 8:12:44 AM - link artwork M:\Music\@Recently-Snapshot\GMT+10_2023-10-31_0600\[Soundtrack]\Movie\A-D\Abyss, The [1989]\13 - Finale.flac
Now multiply that by 150,000...
OTHER (off-topic) OBSERVATIONSLog timesIt might just be the way you're logging it, but when running the Debug version, the first two entries are five minutes apart:
6/11/2023 3:25:53 PM - enumerate M:\Music\
6/11/2023 3:31:22 PM - get cached files
It looks like there's something happening for five minutes before MusicBee starts scanning the tracks?
Unnecessary folder processingMost of the initial folder enumeration entries refer to folders that I no longer use. e.g.
6/11/2023 3:31:22 PM - enumerate M:\Test Music\, top only=True
This path exists only in the MusicBee database. I would have used it for testing something at least six months ago, but it no longer appears in any setting file and none of the tracks in that folder are in my Library. I tried the
Compress Library command, but it's still included.
Finally, I am surprised that even after running the full startup scan many times now, MusicBee hasn't reported finding a single missing file. And yes, the option to prompt for confirmation is enabled.
Either I'm better at keeping my library organised than I thought, or MusicBee is doing a great job of keeping on top of all my random changes.

Finally finally, I wonder if there's any value in having a "debug mode" built-in so people who know what to look for can get this kind of additional information without you have to compile a new version each time? Even if it needed to be enabled via an ini file edit - to avoid tire kicking - I would find it useful sometimes.
Thanks again for your great support.