Proyecto

General

Perfil

Acciones

Mejora #752

cerrada

Implement evaluation cache

Añadido por Federico Vera hace más de 6 años. Actualizado hace más de 6 años.

Estado:
Resuelto
Prioridad:
Wishlist
Asignado a:
Versión prevista:
Fecha de inicio:
2018-07-10
Fecha fin:
2018-08-01
% Realizado:

100%

Tiempo estimado:
Dificultad:
Tags:

Descripción

As of now, every call to Expression#evaluate() reevaluates the whole expression.
This isn't a problem in and of itself, but it's a common error when using the library and creates an annoying performance hit.

  • Find all scenarios where this could fail
  • If an expression contains non-deterministic results, the value should not be cached
  • Cache should be cleaned if variable changes
  • What happens when using setVariables() with maps?
  • Create tests for expression evaluate

PS: We attempted to fix this with documentation and warnings... but still creates a problem. An internal (at least partial) solution shouldn't be hard to accomplish... I think...

Acciones #1

Actualizado por Federico Vera hace más de 6 años

  • Tipo cambiado de Desarrollo a Mejora
  • Prioridad cambiado de Normal a Wishlist
Acciones #2

Actualizado por Federico Vera hace más de 6 años

  • Versión prevista cambiado de 0.7 a 1.0
Acciones #3

Actualizado por Federico Vera hace más de 6 años

Scenarios to fail:

  • Multiple async calls (will fail anyway)
  • Non deterministic functions
Acciones #4

Actualizado por Federico Vera hace más de 6 años

  • % Realizado cambiado de 0 a 70
Acciones #5

Actualizado por Federico Vera hace más de 6 años

  • Estado cambiado de Nuevo a Resuelto
  • % Realizado cambiado de 70 a 100
Acciones

Exportar a: Atom PDF

Volver al inicio