The chill returns hard today, but I'm feeling a lot better this week—especially as of the end of the week—so I'll call it a win. But, development got a bit thrown off due to a family emergency, which is still ongoing. So I'm pushing forward, but bear with me.
The main thing I've worked on this week is 514 bug fixes, because the compiler crasher I mentioned last week was finally fixable, but it took a lot of work. Even though the bug is fairly obscure I think that was solid, important work that should be helpful. But what was even more interesting was when I started profiling the compiler, because the project I was testing with was disgustingly slow to compile.
So after fixing the bug, I turned my attention to finding the problem with the slow compilation and discovered that at least for some games, this is a very fixable problem. Basically a lot of work was being done behind the scenes when converting single-quoted filenames to cache file references, but most of that work was highly cacheable. My tests with SS13 suggest the change won't be as earth-shattering there, but I still think there will be a significant improvement overall.
Another thing I'm looking at is map parsing, which I think needs to be a little better because there's no reason it can't be a lot faster than it currently is. There's some behavior in it that's slowing it down and I think that's fixable. The project I was testing got down from well over a minute (when I fixed the crash) to about 9 seconds, but oh yes, I can do better. And I'm increasingly convinced that there are no more real impediments to moving past 64K "pops" per map file.
I really want to keep deep-diving on this, because SS13 in particular has a complicated structure that probably taxes a lot of internal stuff that wasn't designed for that. If I can find a way to shave off even 10% of their compile times, that's a lot. If I can cut that back even further, I'm happy to do it.
515 still moves forward though. I need to get back to moving on that, too. If I said anything about potential release dates back in 2021, please disregard. Don't worry, good things are coming.
Thanks to all the BYOND Members and supporters on other donation platforms that have helped support the platform. It's appreciated more than you know and allows me to keep moving this thing forward.
January is now in full swing but 2022 is so far shaping up to be suckier than 2021, but let's see if we can finally put the dumpster fire out. In the meantime, please pass the marshmallows.
Jan 14, 9:30 am