do() is really more efficient than system().
There's no new process creation with do and it's a key avantage for your problem ( process creation is time/ram/cpu consuming ). Yours do'ed scripts share global vars with your main script ( this should be usefull also ).