We're updating the issue view to help you get more done. 

Interpolate function performs a number of dynamic expression evaluations, and generates a lot of transient objects, for each call to "evaluate"

Description

The way interpolate it coded now:

  • It generates a new set of InterpPoint for each new call to evaluate

  • Evaluates the data and value expressions over and over even if they are static

  • It's not thread safe, as the InterpPoint list is a class field and gets reset every time evaluate is called (the field is assigned before the list is populated, breaking concurrent threads)

Environment

None

Status

Assignee

Andrea Aime

Reporter

Andrea Aime

Triage

None

Components

Fix versions

Priority

Medium