branchrust_reboot/main/server_baseplayer_optimcancel
9 Commits over 0 Days - ∞cph!
Merge: from main
Tests: none
Clean: reduce code duplication for BasePlayer.WaterFactor
Tests: none, trivial change
▅█▆▋▊: ▊▌▌▍ █▆▉▍█▊▍▊▌▌▉▅_▋▆█▊▇
▄▉▌▆▇▆ ▆▇▄█▉▆ ▄ ▅▅▄▌▊ ▇▍ ▆▍█▄▍▌▋ █▍ ▇▅▋▄▆▊▆▄▋▅ ▄▆▊█▆█▇ - ▋▋▇▅▍▊ ▅▋ ▄▄ ▄▋▆█▉▋ █▊▆▋▆▌▉▍::▍▄█▇▊▊█▆▊▊▅▍ ▅▌ █▉%, ▊▇▆ ▉▆▇▉▋█▉▅▌▄▊▅ ▍▆ █ ▆▌▅▌▄█ ▊▌▄▊ (▇▉▊▊▆▋ ▅▌▊▍ ▋▉ ▉▋▌▅▉▊▆▄ █▅ ▋ ▋▊▊▇ ▌▇▋▍▇▆)
▌█▍▌▉: ▉▇▉ ▇▇ ▆▊▊▆▇▍, ▌▍▍▊▄▅▅▌ ▌▍▊▇▇▉▌▄▇▇ ▋▇▍ ▆▍▄▌ █ ▅▋█▄▄▇ ▍▌ ▉▌▍▋ ▅▊▆▄▄▉▍▍▆ - ▌▉▆▇▆▉▄▄▉ ▍▌▋▊▄▇█▌ ▍▆▇█▍ ▍▄▊▅▄▅▌▆▇▄▍ ▆▇▆ ▅▋▋▋▍▋ ▍▍▅▍▉▉▌ ▊▅ ▉▋▊▋ ▌▊▅▋ ▄▉▍▆
Clean: further comments
Tests: none, trivial change
Clean: fixed comments
They got out of date from my initial experiments.
Tests: none, trivial change
Optim: reimplementing List.Compare extension via hash->sort approach
- Only implemented for ref types for now, but can be extended to value-types as well
- Has a limitation of requiring no duiplicates in queries lists
- Dependent on the hash quality - we have a slow, quadratic path when a hash collision occurs
- Measured performance - largest case (2048, 512) is an order faster than previous impl (0.75ms vs 12.5ms)
Goal was to reduce the number of hash lookups from the original algorithm and to reduce it's quadratic nature.
Tests: Ran the unit tests - all pass
Update: rewrote ListExtension test to soon-to-chan
- Also added a perf test
- Measured initial implementation's timings - (2048,512) takes 12.5ms on average
I've been working on an optimization that requires me to use ref-types rather than value-types
Tests: run the test in editor, all cases pass
Optim: remove dead bots from global tracking
- Removed now unnecessary null check when simulating bots
Tests: on craggy spawned 15 bots then killed them - counter went up and down accordingly. Flew around 3.5k procmap, gave it a soak test. Both cases no NREs.
New: console command to report bot count on the server.
Tests: loaded into 3.5k procgen world and used the command