10,922 Commits over 3,959 Days - 0.11cph!
Eliminated needless group creation when trying to destroy an empty network group on the client
Eliminated GC allocs from BaseNetworkable.NetworkDestroy
Just use prefab name on the client in Entity.ToString() to avoid GC allocs
Eliminated GC allocs from MaterialReplacement
Eliminated GC allocs from ItemContainer.Load
Adjusted some memory pool sizes
OnInventoryChanged profiling
Fixed Server.DestroyNetworkable not calling Networkable.Destroy when returning networkable to pool
Disabled dynamic batching (experiement)
Merge from gc_optimizations_2
Prewarm memory pool of certain extremely common types
Optimized memory pool size for networkables and entity links
Rebuilt Facepunch.Network
FindInGroup editor safeguards
Fixed some memory pooling related issues
Fixed stray "virtual" in EntityLink
Fixed duplicate editor entity BuildName from previous merge
Subtracting gc_optimizations
Added LOD mesh swapping support to StagedResourceEntity
Fixed ores using the wrong mesh in the distance when partially broken
Merge from gc_optimizations
Fixed fireball prefab path warning
Fixed hacky workaround in fireball entity code to reference the spread entity
Added pooling to ColliderGroup / RendererGroup / FoliageGroup (eiliminates GC allocs)
Eliminated a 20B GC alloc from RendererKey.GetHashCode (ShadowCastingMode boxing)
DeferredExtension.OnGUI is ifdef UNITY_EDITOR
Deleting ProfileData (unused)
Eliminated SpecialPurposeCamera GC allocs
Eliminated GC allocs from FPSTimer
EffectRecycle / DecalRecycle cache their invoke actions (eliminates GC allocs once pooled)
Entity links are pooled (eliminates GC allocs)
Removed GC allocs from GetComponentInChildrenIncludeDisabled
Nicer separation of editor-only entity networking cost in the profiler
Rebuilt Facepunch.Network and Facepunch.Raknet plugins
Networkable + Subscriber are pooled (eliminates GC allocs)
Networkable fires events via NetworkHandler interface instead of actions (eliminates GC when subscribing / unsubscribing events)
Deleting Plugins/Facepunch (all part of Facepunch.Network)
BaseNetworkable SaveInfo / LoadInfo are structs (eliminates GC allocs)
Cherry picking improved CreateOrUpdateEntity profiling (22318)
Much more detailed profiling in CreateOrUpdateEntity (ClientSpawn, ClientInit, InitShared etc)
Reverting to legacy EAC API due to server authentication issues
Network++
Removed gc.interval since it's bullshit and the thought of someone having it enabled scares me