Removes the datum pool, as it is not performant.

* Creating new objects is cheap, in fact comparable to the cost of getting it out of the pool, so it doesn't help there.
* Placing items in the pool is far more expensive than letting them garbage collect due to the resetting of vars and such.
This commit is contained in:
Leshana
2017-05-03 20:39:59 -04:00
parent 3c9698c53d
commit 44ff1a70c6
55 changed files with 92 additions and 217 deletions

View File

@@ -152,19 +152,13 @@ world/loop_checks = 0
A.finalize_qdel()
/datum/proc/finalize_qdel()
if(IsPooled(src))
PlaceInPool(src)
else
del(src)
del(src)
/atom/finalize_qdel()
if(IsPooled(src))
PlaceInPool(src)
if(garbage_collector)
garbage_collector.AddTrash(src)
else
if(garbage_collector)
garbage_collector.AddTrash(src)
else
delayed_garbage |= src
delayed_garbage |= src
/icon/finalize_qdel()
del(src)
@@ -180,7 +174,7 @@ world/loop_checks = 0
// Default implementation of clean-up code.
// This should be overridden to remove all references pointing to the object being destroyed.
// Return true if the the GC controller should allow the object to continue existing. (Useful if pooling objects.)
// Return true if the the GC controller should allow the object to continue existing.
/datum/proc/Destroy()
nanomanager.close_uis(src)
tag = null