Angular.js almacena en caché $ plantillas compiladas / rendimiento de representación de directivas dentro de ng-repeat

Tengo una directiva que representa la celda de la tabla (vea cómo la estoy compilando aquí, básicamente usando$compile dentrolink fn Plantilla de directiva Angular.js que utiliza variables del ámbito primario / heredado), ahora esto se usa dentro de dosng-repeats, uno para filas, uno para columnas, así que es básicamente

<ng-repeat row in rows>
  <ng-repeat column in columns>
    <my-cell-directive />
  </ng-repeat>      
</ng-repeat>

con 50 filas y 8 columnas tiene un impacto bastante grande (bueno, bastante notable de todos modos) en el rendimiento (renderizado).

Entonces estaba buscando una manera de mejorarlo. En primer lugar, intenté deshacerme de esa repetición interna para columnas, creando unmy-cols-directive que itera internamente sobre columnas, encuentra su plantilla, crea una cadena (con esas 8 columnas dentro) y luego la compila. Lo que redujo la cantidad de compilación de 400 a 50. Pero en realidad no tuvo una mejora notable en el renderizado (bueno, sí, pero solo alrededor del 15%).

Ahora, mi otra idea era reducirlo a una sola compilación de alguna manera, básicamente compilándolo en la primera iteración de ng-repeat, luego guardando (almacenando en caché) el resultado compilado para que la directiva lo use en lugar de compilarlo una y otra vez, simplemente reemplazando los valores de enlace por unos de la iteración actual.

¿Sería posible de alguna manera? ¿O hay alguna otra forma de mejorar la velocidad de renderizado?

Respuestas a la pregunta(1)

Su respuesta a la pregunta