anchor.diff:  		queue -= refid // Removing any previous references that were GC'd so that the current object will be at the end of the list.
   
   	queue[refid] = gctime
  +
  +//this is purely to seperate things profile wise.
  +/datum/controller/subsystem/garbage/proc/HardDelete(datum/A)
  +	del(A)
   
   /datum/controller/subsystem/garbage/proc/HardQueue(datum/A)
   	if (istype(A) && A.gc_destroyed == GC_CURRENTLY_BEING_QDELETED)
  
positive.code: 		A.gc_destroyed = GC_QUEUED_FOR_QUEUING
  
  /datum/controller/subsystem/garbage/proc/Queue(datum/A)
  	if (!istype(A) || (!isnull(A.gc_destroyed) && A.gc_destroyed >= 0))
  		return
  	if (A.gc_destroyed == GC_QUEUED_FOR_HARD_DEL)
  		del(A)
  		return
  	var/gctime = world.time
  	var/refid = "\ref[A]"
  
negative.code: 			var/time = world.timeofday
  			var/tick = world.tick_usage
  			var/ticktime = world.time
  			HardDelete(A)
  			tick = (world.tick_usage-tick+((world.time-ticktime)/world.tick_lag*100))
  
  			if (tick > highest_del_tickusage)
  