¿Cómo representar de manera óptima grandes cantidades de elementos DOM usando javascript?

En una página web tengo una lista bastante grande de artículos (por ejemplo, tarjetas de productos, cada uno contiene imagen y texto), aproximadamente 1000 de ellos. Quiero filtrar esta lista en el cliente (solo se deben mostrar aquellos elementos que no se han filtrado), pero hay un problema de rendimiento de representación. Aplico un filtro muy estrecho y solo quedan 10-20 elementos, luego lo cancelo (por lo que todos los elementos deben mostrarse nuevamente), y el navegador (Chrome en una máquina muy agradable) cuelga durante uno o dos segundos.

Re-renderizo la lista usando la siguiente rutina:

<code>for (var i = 0, l = this.entries.length; i < l; i++) {
    $(this.cls_prefix + this.entries[i].id).css("display", this.entries[i].id in dict ? "block" : "none")
}
</code>

dict es el hash de los identificadores de elementos permitidos

Esta función en sí misma se ejecuta al instante, es la representación que cuelga. ¿Existe un método de reproducción más óptimo que cambiar la propiedad "mostrar" de los elementos DOM?

Gracias por sus respuestas de antemano.

Respuestas a la pregunta(3)

Su respuesta a la pregunta