Если в инфоблоке несколько тысяч записей, какой запрос CIBlock::getList отработает быстрее, с применением arFilter или выборка всех записей?
Если брать исходную постановку запроса: для CIBlock::getList без разницы сколько записей в самом инфоблоке, потому как Вы выбираете не элементы, а сами инфоблоки.
Если речь идет о CIblockElement::getList(), то запрос не корректный.
1) Для начала нужно понять что Вы делаете с записями. Время запроса сильно не изменится, а вот время обработки результата может "гулять" значительно.
То есть, если Вы выводите на экран 1 тысячу значений и 1 миллион значений, то время будет существенным.
2) Затем нужно понять, используете Вы сложный фильтр или простой.
Например в инфоблоке у Вас 1 тысяча записей. Скажите, проще будет достать все? Или достать все, у которых этот параметр такой, такой или такой, а вот это параметр такой и такой, но только если дата в диапазоне от такого-то до такого-то и сегодня четверг.
При небольших объемах, выбрать все элементы будет быстрее чем использовать фильтр по элементу, особенно если там есть логические операторы AND/OR, при этом с LIKE, да еще и множественными свойствами по инфоблоку 1.0