branchrust_reboot/main/alloc_clean_june2026cancel
24 Commits over 0 Days - Infinitycph!
Optim: Replace Physics.OverlapBox with Physics.CheckBox in BaseVehicle.VehicleFixedUpdate
Saves allocating the results array, and should be cheaper as well
Tests: none, trivial change
Optim: get rid of string alloc in BaseCombatEntity.Hurt
1alloc/32b
Tests: none, trivial change
Optim: SpawnGroup - SpawnInstances not returns a List instead of IEnumerable
Allows to save on iterator allocation, 40b
Tests: none, trivial change
Optim: cache UpdateNetworkGroup invoke
Saves 1 alloc/128b
Tests: none, trivial change
Optim: cache PlayRadioChatter invoke
Saves 1 alloc/128b
Tests: none, trivial change
Optim: cache 2 invokes in Buoyancy.CheckSleepState
Saves 2 allocs/256b
Tests: none, trivial change
Optim: cache RemoveCorpse invoke
Saves 3 allocs, 384b total
Tests: none, trivial change
Undo of previous change - since entities can only be demolished once, the change was useless (and wasted memory)
Optim: cache StopBeingDemolishable invoke
1 alloc/128b
Tests: none, trivial change
Optim: use static action in ServerBuildingManager.Split
Should save another 2 allocs/160b per building block
Tests: none, trivial change
Clean: tabs -> spaces, get rid of explicit generic args
Tests: none, trivial change
Optim: use static callback to avoid allocs in ServerBuildingManager.CheckMerge
Saves 2 allocs, 160b total
Tests: none, trivial change
Optim: get rid of LINQ in Planner.FindSocket
Saves 3 allocs/180b total
Tests: none, trivial change
Optim: cache UpdatedVisibleHolsteredItems invoke
Saves 1 alloc/128b
Tests: none, trivial change
Optim: avoid boxing allocs in Azure.LogResource
Weirdly Enum.ToString has 2 boxing allocs, totalling 48b.
Tests: none, trivial change
Clean: fixup formatting in BasePlayer.OnProjectileAttack
Tests: none, trivial change
Optim: cache RemoveOldNoises invoke
Saves 1-2 allocs, 128b each
Tests: none, trivial changes
Optim: use pooling in BaseNetworkable::OnNetworkLimitStart
Saves us 3 allocs, 100b min
Tests: none, trivial change
Optim: cache action in PlayerLoot.MarkDirty
1 alloc/128b
Tests: none, trivial change
Optim: cache PlayerLoot.MarkDirty action creation
Saves 1 alloc/128b per container
Tests: none, trivial change
Optim: cache actions in TrainEngine.PlayerServerInput
Saves 2 actions, 128b per
Tests: none, trivial change
Optim: cache BasePlayer.ForceUpdateTriggersAction allocation
Saves a single 128b alloc
Tests: none, trivial change