So the pre-1 can't run at 30fps without lagspikes you say? Uhm,
right...

So this is a 1.15-pre1 running on my PC with LAN sharing enabled (as you can see my friend Aya is also online) and to top if off I have pretty much everything maxed out. Not to brag or anything but providing context: 32chunk render distance, 5x5 biome blend, fancy graphics, max. smooth lightning, fancy clouds and 50% brightness. I'm also using a resource pack (which also taxes the game).
Well, see above.
And as to spaghetti code: bollocks. Unless you're a developer you have no clue what the code base looks like. As an outsider the best you can do is try to reverse engineer said code, Java is somewhat notorious for allowing that, but don't hold your breath there. The result from reverse engineering is
by far the same as the original code base. If that looks like spaghetti code then seriously: you're barking up the wrong tree.
The only thing I do agree with is that 1.15 doesn't really seem ready, this has got to be the most boring and lackluster update so far. I thought 1.14 was "meh" but that was mostly because 1.13 had added so extremely much. But this? Bees and some "bee related" blocks.
Now, sure, bees can be fun and useful. But I'm still a little disappointed that the fletching & smithing tables don't do anything just yet. They can still be crafted as far as I know (reminds me to check) but the end result is a block which does nothing for you, which I think is kind of bad.