Как эффективно фильтровать списки с JS?
т.к. объектов много (~2000) при очистке фильтра страница подлагивает
Пагинацию сделайте - вместо двух тысяч будет отображаться одновременно несколько десятков.
Да и вообще, заставлять пользователей созерцать тысячи объектов, вне зависимости от скорости отрисовки - само по себе неправильно. Не может человек столько информации воспринять за один раз.
Фильтрация и отображение - две кардинально разные задачи при предоставлении контента.
По критерию поля поиска - отображаем первые 5 записей и кнопка "Ещё...". 
По клику на кнопку - отображаем следующие 10 записей.