DATA Step, Macro, Functions and more

Default LRECL system option in 9.4 is 32767

Reply
PROC Star
Posts: 1,471

Default LRECL system option in 9.4 is 32767

Just noticed that in 9.4, the shipped default for LRECL is 32,767 (vs. 256 in 9.3).

 

But interestingly, the docs for LRECL still say "Use a value for the LRECL= system option that is not an arbitrary large value. Large values for this option can result in excessive use of memory, which can degrade performance."

 

This seems a bit contradictory.  SAS ships with LRECL with a default value (the maximum possible) which it recommends not using. 

 

Maybe this was just a concession to the reduce the risk of people accidentally not reading all of their data (and the number of tech support calls about that subject), even at the expense of performance?  Curious if most folks have changed this default and sees a performance benefit?

Super User
Posts: 13,939

Re: Default LRECL system option in 9.4 is 32767

I wouldn't be surprised to find that comment about "arbitrary large" is aimed more at use in the FILENAME, FILE or INFILE statements where you can specify much larger values for LRECL than the system option will accept.

 

Also note that for files using RECFM=F  the default remains 256.

PROC Star
Posts: 1,471

Re: Default LRECL system option in 9.4 is 32767

But the "arbitrarily large" sentence says explicitly that it's talking about the system option. Use a value for the system option that is not arbitrarily large. Yet the default for the system option is the maximum allowed value.
Super User
Super User
Posts: 9,840

Re: Default LRECL system option in 9.4 is 32767

There are several questionable changes in 9.x, a really good one that came up recently is:

validavarname=any

 

Have whole sections on naming conventions, rules so that programming can be simple and effective.  Then as a default standpoint chuck all that out of the window and let users do whatever they like.  My face is sore from the number of facepalms over these decisions.

PROC Star
Posts: 1,471

Re: Default LRECL system option in 9.4 is 32767

Ugh I didn't realize validvarname=any was a default now.

 

I always hated that so many of the BI clients set it.  I think EG sets it, maybe DI studio.  Guess the thought was to make it "easier" to read all those lovely Excel spreadsheets that are floating around.

Ask a Question
Discussion stats
  • 4 replies
  • 199 views
  • 1 like
  • 3 in conversation