anchor.diff:  			var/type = A.type
   			testing("GC: -- \ref[A] | [type] was unable to be GC'd and was deleted --")
   			didntgc["[type]"]++
  -			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)
  -				highest_del_tickusage = tick
  -			time = world.timeofday - time
  -			if (!time && TICK_DELTA_TO_MS(tick) > 1)
  -				time = TICK_DELTA_TO_MS(tick)/100
  -			if (time > highest_del_time)
  -				highest_del_time = time
  -			if (time > 10)
  -				log_game("Error: [type]([refID]) took longer then 1 second to delete (took [time/10] seconds to delete)")
  -				message_admins("Error: [type]([refID]) took longer then 1 second to delete (took [time/10] seconds to delete).")
  -				postpone(time/5)
  -				break
  +
   			++delslasttick
   			++totaldels
   		else
  
positive.code: 
  //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)
  		tobequeued += A
  
negative.code: 			if (QDEL_HINT_HARDDEL)		//qdel should assume this object won't gc, and queue a hard delete using a hard reference to save time from the locate()
  				SSgarbage.HardQueue(D)
  			if (QDEL_HINT_HARDDEL_NOW)	//qdel should assume this object won't gc, and hard del it post haste.
  				HardDelete(D)
  			if (QDEL_HINT_FINDREFERENCE)//qdel will, if TESTING is enabled, display all references to this object, then queue the object for deletion.
  				SSgarbage.QueueForQueuing(D)
  				#ifdef TESTING
  