-dbcache=0 works way faster, betraying some kind of problem in the way caching works.
No, it's way faster because the initial startup tests are truncated when the cache is too small. (Because they undo a bunch of blocks in memory and redo them... they need enough memory to hold that intermediate state)