Speed up nc run

The overhead in the nc run commands consists mostly in the on-demand compilation of Tcl code and secondarily on the number of round-trips to vovserver.

(Experimental feature) To amortize the Tcl compilation across multiple job submission, you can use the nc - option and then pipe a large number of run ... commands, as in the following example:
% mkfifo /tmp/vovfifo$USER.$$
% nc - < /tmp/vovfifo$USER.$$
% echo run hostname >> /tmp/vovfifo$USER.$$
To limit the number of round trips, you can define a number of environment variables that define semi-constant values, namely:
  • NC_URL: This is the main URL for the vovserver and is used to compute the full URL for each submitted job. If not defined, the code in nc run needs to query the server about the HTTP server name and the WEB port.
  • NC_DEFAULT_JOBCLASS: This is the name of the jobclass to be invoked by default. It can be set to the empty value. This is supposed to have the same value as
    `vovprop GET 1   NC_DEFAULT_JOBCLASS`
  • NC_VALID_DIRECTORIES: The value is a list of directories from which it is acceptable to submit jobs, all in addition to directories that contain the .vnc file. It can be set to the empty value. This is supposed to have the same value as
    `vovprop GET 1   NC_VALID_DIRECTORIES`
These variable can be set, for example, in the setup.tcl file:
# Fragment of the setup.tcl file
# Used to speedup nc run 
setenv NC_URL              https://nchost:6271
setenv NC_DEFAULT_JOBCLASS normal
setenv NC_VALID_DIRECTORIES ""