SAS Optimization Code. Where and IF in Data Step code.

Сегодня хотел бы затронуть темы оптимизации SAS кода. На эту тему можно много чего сказать, но сегодня расскажу о том, что можно внедрить у себя уже сейчас, сразу после прочтения данной статьи.

Речь сегодня пойдет о разнице в использовании условий отбора Where и IF в Вашей коде. 

Не будем ходить в округ да около, а сразу начнем с примера:

WHERE:


IF:


Как говориться посмотри и найди разницу.
А разница состоит в отличии считанных строк. 

Таким образом best practices нам говорит использовать Where условие, хотя я честно говоря в примере особого выигрыша по времени не заметил. 

А теперь приведу картинку, раскрывающую теоретическую часть данного эксперимента:


Из приведенной картинки видно, что условие where проверяется еще до записи в PDV вектор, что экономит время работы программы. 

P.S. Если Вас заинтересовала статья по оптимизации кода и хотели бы ознакомиться еще с возможностью оптимизации, то просьба написать об этом в комментариях к данной статье. 


Ярлыки: ,