The PERFORMANCE statement specifies performance options for multithreaded computing and requests detailed results about the
performance characteristics of the OPTGRAPH 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 the procedure produce the Timing ODS table. This table shows a breakdown of the time used in each step of the
procedure.
-
NTHREADS=number | CPUCOUNT
-
specifies the number of threads that the procedure 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 actual 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 OPTGRAPH procedure. In some circumstances, the OPTGRAPH 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 OPTGRAPH uses eight threads for reading the data input in parallel:
proc optgraph
data_links = LinkSetIn
graph_direction = directed
out_nodes = NodeSetOut;
performance
nthreads = 8;
run;