Currently copy_frame uses the existing functions to place each jumper and circuit, which means every one is checked. All that checking is slow, and as we're copying from an existing frame which must be valid, there is no need to run the checks.
Solution: write some dedicated copy routines which don't bother about checks. Should be much faster.
For example of slowness... Copying the Global CTA2 frame currently takes 15 minutes! The browser times out and reports an error, but the copy does eventually complete if you're patient!
Currently copy_frame uses the existing functions to place each jumper and circuit, which means every one is checked. All that checking is slow, and as we're copying from an existing frame which must be valid, there is no need to run the checks.
Solution: write some dedicated copy routines which don't bother about checks. Should be much faster.