https://gfycat.com/scentedunfortunateamericanpainthorse
In SP my UPS drops from 60/60 with 9 update game time to 52/60 for a second or two.
It seems to be the use of
target.surface.find_entities_filtered({type = "unit-spawner",limit=1})
in control.lua/CallFrenzyAttack()
As I see the same UPS drop in the SP game when I run this command in console.
These sort of entity checks get more UPS costly as the entity counts get larger. Maybe a search for enemy bases within a radius of the silo would avoid this.
In our case we have disabled biters using the below, so theres no need to search at all:
surface.map_gen_settings.autoplace_controls["enemy-base"].size = "none"