BUFSIZE= Data Set Option

Specifies the size of a permanent buffer page for an output SAS data set.
Valid in: DATA and PROC steps
Category: Data Set Control
Restriction: Use with output data sets only.
Supports: SAS data set

Syntax

BUFSIZE=n | nK | nM | nG | hexX | MAX

Syntax Description

n | nK | nM | nG
specifies the page size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); or 1,073,741,824 (gigabytes). For example, a value of 8 specifies a page size of 8 bytes, and a value of 4k specifies a page size of 4096 bytes.
Note: If neither the BUFSIZE= system option nor the data set option are set, the default value is 0. This causes SAS to use the minimum optimal page size for the operating environment. The BUFSIZE= system option will be used in either of the following scenarios:
  • if the BUFSIZE= data set option is not set
  • if the BUFSIZE= data set option is set to 0
The system option BUFSIZE=0 should be set to reset the page size to the default value for the operating environment.
hexX
specifies the page size as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the page size to 45 bytes.
MAX
sets the page size to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 231-1, or approximately 2 billion bytes.

Details

The page size is the amount of data that can be transferred for a single I/O operation to one buffer. The page size is a permanent attribute of the data set and is used when the data set is processed.
A larger page size can speed up execution time by reducing the number of times SAS has to read from or write to the storage medium. However, the improvement in execution time comes at the cost of increased memory consumption.
To change the page size, use a DATA step to copy the data set and either specify a new page or use the SAS default. To reset the page size to the default value in your operating environment, set the BUFSIZE= system option to 0 and set the data set option to 0 or leave it blank.
Note: If you use the COPY procedure to copy a data set to another library that is allocated with a different engine, the specified page size of the data set is not retained.
Operating Environment Information: The default value for BUFSIZE= is determined by your operating environment and is set to optimize sequential access. To improve performance for direct (random) access, you should change the value for BUFSIZE=. For the default setting and possible settings for direct access, see the BUFSIZE= data set option in the SAS documentation for your operating environment.

Comparisons

If the BUFSIZE= data set option is not specified, then the value of the BUFSIZE= system option is used. If both are specified in the same SAS session, the BUFSIZE= data set option overrides the value specified for the BUFSIZE= system option, unless the BUFSIZE= data set option is set to 0. The BUFSIZE= system option must be set to 0 to reset the page size to the default value for the operating environment.