Files
Bubberstation/code/controllers
SkyratBot 05e3188e09 [MIRROR] Adds an additional queue to the qdel subsystem to quickly filter out things that garbage collect within the first second. [MDB IGNORE] (#9604)
* Adds an additional queue to the qdel subsystem to quickly filter out things that garbage collect within the first second. (#62969)

Before, all items deleted would sit in a queue for 5 minutes, with all shrinks and expansions of said queue requiring byond to copy all of these items over to the new list.

Theory: 99% of items soft-delete within byond within the first second. (5 minutes is only needed because a byond quirk with items referenced by verbs)

Result:

Within the first 7 minutes of a local test launch and round start, ~35,000 things get qdeleted.

Of those 35 THOUSAND things, only 12 things failed as still referenced with a 1 second pre-queue.

Said 12 things passed as garbage collected at the 5 minute queue.

(Note: 30 thousand of these items are from world start and round init.)

I have no data on how much this speeds anything up, leaving a 30 thousand list (that has to be copyed every time qdelete processes it and cuts off the items it processed) hanging around for no reason for the first 5 minutes of the round was all i needed to justify the pr.

* Adds an additional queue to the qdel subsystem to quickly filter out things that garbage collect within the first second.

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2021-11-22 00:37:09 -05:00
..