ID:2773008
 
This week's news is kind of quick, because there isn't a lot of it. Physically I took a turn for the worse this week and it severely curtailed my time at my desk. So I've basically been limited to low-hanging fruit and investigating possible optimizations. Most of the code I've written is for later.

Some really weird bug reports also cropped up, and I spent some of that limited time trying to figure out how they could possibly happen. Sadly I still don't have an answer, except that I suspect I need to overhaul how background procs (specifically, I mean internal sleeps that wait for a certain wake-up event) are managed. I can't explain the behavior that's been reported, but even worse, I can't reproduce it. I think the only hope I have of reproducing the bug will be to actually add new functionality just for testing purposes and set up a very particular test, which may or may not work because the code says it shouldn't.

The most promising thing I've been exploring however is a possible upgrade to how associative lists work, trying to allocate the memory in a more contiguous fashion and therefore, hopefully, limit the number of CPU cache misses which should in turn improve performance. At first I thought I could do this without making huge changes to the structure involved, but I think now there's at least one more piece to that puzzle: and while it potentially simplifies some things, it also means increasing the memory for the struct (which may or may not be a wash). Associative lists are used in many parts of the engine, but the biggest games make extensive use of them, so a performance boost could be a really big deal.

Beyond that there are some other in-depth bug reports to look at, like a weird one with the compiler involving certain types of for() loops; even though it should never come up in real code, it is worth investigating and fixing, but it's the sort of thing I haven't had time for lately. So a lot of this week has been starting to look into things until I physically can't anymore, and that's where we're at.

But enough whining. I want to share my gratitude for all of you whose contributions as BYOND Members or through other donation channels make it possible for the work to continue, and I don't take any of your support for granted.

Despite being cold out it's sunny today, so I'd like to take that as a good omen. Hopefully all of you have a great weekend and we'll still be here next week.