I am playing with some mods and running around, looting stuff the first hour. Getting a UPS dip, averaging 50 UPS. I bring it up to you because it shows your mod is taking a lot of script update time.
Looking at your mod, I see you're checking for string validator every tick among all entities on the surface, which explains the lag. If I may make a recommendation, it'd be better to use on_builty_entity and on_robot_builty_entity, and store a table of the validators explicitly (they may have a unit number which makes a good key). If you'd like, I could write you something and link it here.
Edit: I have to write something for myself at least, I'm not going to start building my base at under 50 ups :(