The PERFORMANCE statement specifies performance options for multithreaded computing and requests detailed results about the
performance characteristics of the OPTNET procedure.
The PERFORMANCE statement enables you to control the number of threads used and the output of the ODS table that reports procedure
timing. When you specify the PERFORMANCE statement, the PerformanceInfo ODS table is produced. This table lists performance
characteristics such as execution mode and number of threads.
You can specify the following performance-options in the PERFORMANCE statement:
-
DETAILS
-
requests that PROC OPTNET produce the Timing ODS table, which shows a breakdown of the time used in each step of the procedure.
-
NTHREADS=number | CPUCOUNT
-
specifies the number of threads that PROC OPTNET can use. This option overrides the SAS system option THREADS | NOTHREADS.
The value of number can be any integer between 1 and 256, inclusive. The default value is CPUCOUNT, which sets the thread count to the number
determined by the SAS system option CPUCOUNT=.
Setting this option to a number greater than the number of available cores might result in reduced performance. Specifying
a high number does not guarantee shorter solution time; the actual change in solution time depends on the computing hardware and the scalability
of the underlying algorithms in the PROC OPTNET. In some circumstances, the OPTNET procedure might use fewer threads than
the specified number because the procedure’s internal algorithms have determined that a smaller number is preferable.
For example, the following call to PROC OPTNET uses eight threads to read the data input in parallel:
proc optnet
data_links = LinkSetIn
graph_direction = directed
out_nodes = NodeSetOut;
performance
nthreads = 8;
run;