It uses 16ms per tick! This mod alone brings me down to 38 UPS. If you didn't notice this then you must have a supercomputer :o
And I haven't even made any map pinger entities...
So I checked the code.
script.on_event({defines.events.on_tick}
for k,v in pairs(game.surfaces) do
entitiesMPing = game.surfaces[k].find_entities_filtered{name = "Map-Pinger"}
Apparently you are running find_entities_filtered every tick! Over the entire surface! (For every surface!)
It's a notoriously slow function, and you are using it in the worst way possible D: sorry...
You should listen for events when map pingers are constructed/deconstructed on the map and save those entities in a list that you loop through instead. Possibly there could be some events for changes in circuit signals so that you don't even have to do it every tick either.
Check the code of some other circuit entity mods.