TL;DR
Provide chunks information of ghost tiles and roboports related. Add job queue to roboports. This would remove the need for construction checking for ghosts not in construction area.What ?
Each factorio chunk would have a list of ghosts in the area, and a list of roboports which are related to this chunk. Each roboport would have a job-queue of ghosts in the area.At ghost placement, check if it is inside the chunk-related roboport's area. If it is, add it to that roboport's job queue, else add it to the chunk's "remaining ghosts"-list. At roboport placement, check the chunks in the construction area for remaining ghosts and add them to job queue if they are in this roboport's area.
When checking for tiles to construct, check roboports' job queues (if roboport is powered). As there are only constructable tiles in these queues, there is no longer need to check all ghosts if they are constructable or not. All of the checking is done on placement of either ghost tile or roboport.
Why ?
At the moment, only a couple of ghosts are checked for construction per tick and as I understand, each ghost is periodically checked if they are in a construction area or not. This leads to situations where a lot of ghost tiles outside of construction network fill up the checking quota, and so none of the ghosts in the network area get constructed. This often leads to frustration and manual work for the player.Adding more information about the ghosts would remove the need for periodical checks and the construction network would feel much more responsive. It would also open possibilities for logistics and batch placement, as each roboport would have a queue of needed items.