Details
-
Improvement
-
Status: Done
-
Major
-
Resolution: Done
-
None
-
None
-
None
Description
Currently, we are building WhereParser on every request and scala parser combinator is notorious for it's slow performance. Actually we don't have to build WhereParser on every request.
WhereParser is dependent only on Label and where clause string. so I think it is better to provide parser cache with following key. note that Where class do not contain actual data, but expect caller to provide edge to check if given edge should be included or not.
Key: labelName + where clause string.
Value: Where class that hold structure for filtering.
I think this can be important performance improvement and easy to implement.