Проблема: «…поиск непригоден для огромных аккаунтов…»
«Только что попробовал поискать и ничего не смог с этим поделать — убивает браузер. Я думаю, нам следует добавить к нему некоторую защиту от дребезга (если она еще не добавлена) и подойти к поиску более разумно, DOM, вероятно, слишком тяжел для этого, его можно даже фильтровать с помощью ajax».
первый комментарий: «Ember UI кто-нибудь?»
За считанные секунды мы пришли к тому, чтобы что-то переписать, хотя у нас есть на это и другие причины. Классический. ;)
Но что на самом деле занимает так много времени?
Поскольку мы говорим о поиске на стороне клиента, мы обращаемся к профилировщику Chrome.
Инструменты/профили разработчика

Загрузить страницу, начать запись, найти, остановить запись, результаты:

Давайте не будем слишком увлекаться цифрами: 39 секунд, CSS. Это подсказка. Источник был достаточно простым, чтобы быстро найти это:
showElements: (elements) -> @list.find(elements).parents(@listElement).slideDown() hideElements: (elements) -> @list.find(elements).parents(@listElement).slideUp()
Что, если мы просто…
showElements: (elements) -> @list.find(elements).parents(@listElement).show() hideElements: (elements) -> @list.find(elements).parents(@listElement).hide()
Измерение…

Вуаля!