Good point Kerry. And nice code Tsec2nd. That one's definitely going to be the fastest. The only time it's not going to work is if some of the items inside the original selection sets are on a different tab / space / nested / etc. Other than that it's quite good.
For the others it's difficult to say what the fastest one would be. Lee's is modifying one of the original sets. Stefan's is creating a named selection set (the same name every time) - if this is recreated each time from a blank selection set, thus it errors on every pass after the 1st time it's used.
Trying to do a benchmark gets affected by Lee's in all instances - making the rest of the test inaccurate, since it only runs once then never adds to a selection set again (just runs through). This is a similar problem as in the link I've posted to the AUGI thread, RenderMan's also modifies one of the original selection sets.
All 3 of these appear around 8 times slower than Tsec2nd's.
Lupo's seems to be 32 times slower, but has the same problem with modifying the original set.
Anyhow, my ss-union2 (from the AUGI thread) is 10 times slower than Tsec2nd's (the only 2 I can reliably test). It creates a 3rd selection set every time (thus the originals are left as is) and can handle entities on different layouts. I'm not saying it's better, just that if speed is less important than being able to get at all entities you may need to go with this instead.