Commit Graph

3 Commits

Author SHA1 Message Date
LemonInTheDark
1d6533c525 Bumps compile to 515 (#79134)
## About The Pull Request

LSP supports it, let's GOOOOOO
I've removed the 515 tests since they're stable, alongside the libcall
wrapper. left the rustgcall wrapper cause yaknow memes
Just removed all the 515 and 514 particular define wrappers. gaming

## Changelog
🆑
server: Minimum compile version has been bumped to 515. clients still
support 514 but we're gonna start using 515 restricted features for
serverside now.
/🆑

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2023-11-25 21:03:29 -08:00
Mothblocks
7d065395a6 Experiment flag for not caching ref on 515 (#73903)
Closes #73902

> Since strings are ref counted, and a `\ref` creates a string, then in
cases where a `\ref` is only intended to go to an html window showed to
a player or admin, storing it would extend how long the string for the
`\ref` exists in the string tree, which is likely bloating the string
tree and making it have to force a rebalance more often.
> 
> 515's next version has a pretty decent speedup on `\ref`/`ref()`.

Turned into an experiment flag for a few reasons:
1. I like the idea of when testing 515, only testing 515, and not our
changes that benefit from 515
2. Lets me profile the differences a lot easier
3. Makes it clearer what needs to be removed, since I have locked
`cached_ref` behind *not* having the flag.

Also adds a compile error if these flags live past 515.
2023-03-14 18:38:37 -06:00
Mothblocks
0235cfb078 Experiment with holding hard references to objects being qdeleted in 515 (saves 1.1+ seconds on init times, more on prod) (#72033)
## 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
2022-12-27 08:04:49 +00:00