![]() | ![]() | ![]() | ![]() | ![]() |
Beginning in SAS 9.0, SAS introduced block I/O to copy blocks of data for faster performance. However, in certain situations, you might experience a program written for SAS 8 running slower in SAS 9.
Consider the following example, where the data set SUPERSIZE located in the LIB1 directory contains two billion observations.
options obs=0; proc copy in=LIB1 out=LIB2; select SUPERSIZE; run;
Although the system option OBS= is set to zero, SAS reads all two billion observations of the input data set. This can take some time.
A hot fix is available to disable block I/O. With the hot fix applied, SAS uses a single observation read and write in the following instances:
PROC COPY or PROC APPEND with system options OBS= or FIRSTOBS= in effect, PROC APPEND where the BASE= does not exist, or PROC APPEND with a WHERE CLAUSE.
In SAS 9.2, it is not necessary to apply the hot fix as this is the default behavior. Please see the SAS Procedures Guide for further information on conditions that disable block I/O.
Submitting the system option MSGLEVEL=I in your SAS session provides information in the SAS Log regarding block I/O. After applying the hot fix, the example above generates the following partial note in the SAS log:
INFO: Data set block I/O cannot be used because:
Although this is a partial note, its intent is informational and indicates that block I/O was suspended.
Product Family | Product | System | SAS Release | |
Reported | Fixed* | |||
SAS System | Base SAS | Microsoft Windows 2000 Datacenter Server | 9 TS M0 | 9.2 TS2M0 |
Microsoft Windows 2000 Server | 9 TS M0 | 9.2 TS2M0 | ||
Microsoft Windows 2000 Professional | 9 TS M0 | 9.2 TS2M0 | ||
z/OS | 9 TS M0 | 9.2 TS2M0 | ||
Microsoft® Windows® for 64-Bit Itanium-based Systems | 9 TS M0 | 9.2 TS2M0 | ||
Microsoft Windows Server 2003 Datacenter 64-bit Edition | 9 TS M0 | 9.2 TS2M0 | ||
Microsoft Windows Server 2003 Enterprise 64-bit Edition | 9 TS M0 | 9.2 TS2M0 | ||
Microsoft Windows 2000 Advanced Server | 9 TS M0 | 9.2 TS2M0 | ||
Microsoft Windows NT Workstation | 9 TS M0 | |||
Microsoft Windows Server 2003 Datacenter Edition | 9 TS M0 | 9.2 TS2M0 | ||
Microsoft Windows Server 2003 Enterprise Edition | 9 TS M0 | 9.2 TS2M0 | ||
Microsoft Windows Server 2003 Standard Edition | 9 TS M0 | 9.2 TS2M0 | ||
Microsoft Windows XP Professional | 9 TS M0 | 9.2 TS2M0 | ||
64-bit Enabled AIX | 9 TS M0 | 9.2 TS2M0 | ||
64-bit Enabled HP-UX | 9 TS M0 | 9.2 TS2M0 | ||
64-bit Enabled Solaris | 9 TS M0 | 9.2 TS2M0 | ||
HP-UX IPF | 9 TS M0 | 9.2 TS2M0 | ||
Linux | 9 TS M0 | 9.2 TS2M0 | ||
OpenVMS Alpha | 9 TS M0 | 9.2 TS2M0 | ||
Tru64 UNIX | 9 TS M0 | 9.2 TS2M0 |