I was investigating why the open-tunnel functionality was not really helping cut-down the needed time to run ensemble commands. Here are some findings
1- Bootstrapping an initial environment, no open-tunnel used. Ran the command "time ensemble status", "real" time reported on average is 6.8 seconds
2- Now running "ensemble open-tunnel" in another window, establishes a tunnel. Running "time ensemble status", "real" time reported on average was 5 seconds
3- This time is seemingly not for establishing the ssh connection. Measuring the pure ssh connection time with
time ssh <email address hidden>:22 -S ~/.<email address hidden>\:22 w
resulted in an average time of 0.3 seconds. Meaning the 5 seconds (or 4.7s) ensemble uses to run "ensemble status" are needed for local ensemble command line initialization
Potential solutions might be to profile and cut-down the time needed for ensemble to initialize itself, or to provide an interactive ensemble mode where commands are entered serially, avoiding closing and rerunning ensemble for every command
I was investigating why the open-tunnel functionality was not really helping cut-down the needed time to run ensemble commands. Here are some findings
1- Bootstrapping an initial environment, no open-tunnel used. Ran the command "time ensemble status", "real" time reported on average is 6.8 seconds
2- Now running "ensemble open-tunnel" in another window, establishes a tunnel. Running "time ensemble status", "real" time reported on average was 5 seconds
3- This time is seemingly not for establishing the ssh connection. Measuring the pure ssh connection time with
time ssh <email address hidden>:22 -S ~/.<email address hidden>\:22 w
resulted in an average time of 0.3 seconds. Meaning the 5 seconds (or 4.7s) ensemble uses to run "ensemble status" are needed for local ensemble command line initialization
Potential solutions might be to profile and cut-down the time needed for ensemble to initialize itself, or to provide an interactive ensemble mode where commands are entered serially, avoiding closing and rerunning ensemble for every command