mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-14 11:42:27 +00:00
## About The Pull Request Adds `EXPERIMENT_515_QDEL_HARD_REFERENCE`, which will queue to the GC subsystem using hard references rather than `\ref`. This is only possible in 515 because of the new `refcount` proc. `\ref` is very very slow and has some nasty knock on effects, so removing its usages where possible is good. This is an explicit opt in define because I want to give us the ability to test 515 on live while only testing 515 itself, not our experimental changes. We have a few more of these we want to do so I made a separate file for them. They're auto-defined in unit tests so we see them with the alternate test runner. In a perfect world we'd test both on and off, but eh. Closes https://github.com/tgstation/dev-cycles-initiative/issues/10
22 lines
764 B
Plaintext
22 lines
764 B
Plaintext
// This file contains experimental flags that may not be production ready yet,
|
|
// but that we want to be able to easily flip as well as run on CI.
|
|
// Any flag you see here can be flipped with the `-D` CLI argument.
|
|
// For example, if you want to enable EXPERIMENT_MY_COOL_FEATURE, compile with -DEXPERIMENT_MY_COOL_FEATURE
|
|
|
|
// EXPERIMENT_515_QDEL_HARD_REFERENCE
|
|
// - On 515, will hold a hard reference for qdeleted items, and check ref_count, rather than using refs.
|
|
|
|
#if DM_VERSION < 515
|
|
|
|
// You can't X-macro custom names :(
|
|
#ifdef EXPERIMENT_515_QDEL_HARD_REFERENCE
|
|
#warn EXPERIMENT_515_QDEL_HARD_REFERENCE is only available on 515+
|
|
#undef EXPERIMENT_515_QDEL_HARD_REFERENCE
|
|
#endif
|
|
|
|
#elif defined(UNIT_TESTS)
|
|
|
|
#define EXPERIMENT_515_QDEL_HARD_REFERENCE
|
|
|
|
#endif
|