SORT, /STATISTICS, Full Description
*Conan The Librarian
When the /STATISTICS qualifier is used, Sort/Merge displays statistics in SYS$OUTPUT. You can use these statistics to judge the efficiency of the ordering operation and to determine adjustments that can improve its performance. To save these statistics in a file, specify the following command: $ DEFINE/USER SYS$ERROR output-file High-performance Sort/Merge: The high-performance Sort/Merge utility displays only the following statistics: Records read, Records sorted, Records output, and Input record length. The following statistical display results when you use the /STATISTICS qualifier: OpenVMS Sort/Merge Statistics Records read: nnn Input record length: nnn Records sorted: nnn Internal length: nnn Records output: nnn Output record length: nnn Working set extent: nnn Sort tree size: nnn Virtual memory: nnn Number of initial runs: nnn Direct I/O: nnn Maximum merge order: nnn Buffered I/O: nnn Number of merge passes: nnn Page faults: nnn Work file allocation: nnn Elapsed time: nn:nn:nn.nn Elapsed CPU: nn:nn:nn.nn Records read is the number of records read by Sort or Merge. Records sorted is the number of records that have been processed using Sort. This number could be less than the number of records read if a specification file is used to select only certain records for the sort or merge operation. Records output is the number of records written to the output file. This number could be less than the number of records sorted if /NODUPLICATES was selected or if I/O errors occurred when the output records were being written. Working set extent shows the number of pages in the process working set extent. This value is used as an upper limit on the size of the sort data structure. Adjusting this value is one way to improve the efficiency of a sort operation. Virtual memory is the number of pages of virtual memory added to the Sort image to hold the data. The total of the direct I/O and buffered I/O is the number of I/O movements needed to read and write data. The lower this total value is, the more efficient the ordering operation. The number of page faults indicates how well the data fits into memory: the higher the number of page faults, the less efficient the ordering operation. Elapsed time is the total wall clock time used by the sort or merge operation in hours, minutes, seconds, and hundredths of seconds. The input record length value is obtained from the Record Management Services (OpenVMS RMS) unless the user supplies it. Internal length is the size in bytes of an internal format node. This includes any keys, data, a word to store the length, record file addresses (RFAs), and converted keys. Output record length is the length of the output record. The length is computed from the input record length, the sort process, and the record reformatting requested. Sort tree size is the number of records that fit in sort's internal data structure. Number of initial runs is one indication of how well the data fits into memory. The maximum merge order is the maximum number of sorted strings that are merged at one time. The number of merge passes is the number of times the Sort utility merges strings until one sorted output string is produced. The number of initial runs and the number of merge passes indicate how well the data fits in memory. The higher these numbers, the further the working set size is from containing the data and the longer the sorting takes. Work file allocation is the number of blocks used for the work files. When more than one merge pass is needed, this size is approximately twice the size of the input file allocation. Elapsed CPU is the CPU time used by the ordering operation; it does not include time spent waiting for I/O operations to complete or time spent waiting while another process executes.