bshepherdson / foam-migration-test

0 stars 0 forks source link

Optimize OrExpr #182

Open bshepherdson opened 10 years ago

bshepherdson commented 10 years ago

From k...@chromium.org on February 13, 2014 19:55:40

While profiling Crbug, I noticed that a lot of time is being spent executing OrExpr.f(). This must be for the "status=New,Accepted,Started" (Open issues) query. The QueryParser should parse this as an InExpr instead because the QueryOptimizer can better optimize these kinds of statements.

Also, test the use of Array.some() to make sure that it isn't less efficient than the old method of implementing OrExpr.

Test a move-to-front optimization (for AnExpr also).

Original issue: http://code.google.com/p/foam-framework/issues/detail?id=182

bshepherdson commented 10 years ago

From k...@chromium.org on February 13, 2014 17:00:29

Labels: -Priority-Medium Priority-Low

bshepherdson commented 10 years ago

From k...@chromium.org on February 28, 2014 06:00:03

I've already switched the QueryParser to parse comma-separated lists as IN instead of OR operators, which makes queries faster, and avoids potential slow-down from Array.some.

However, I should still benchmark Array.some() and change it if required.

Status: Started