Closed bshepherdson closed 10 years ago
From k...@chromium.org on February 18, 2014 20:08:28
This feature is also probably ripe for optimization. More generally, the CONTAINS_IC mlang can probably be optimized as well.
Some baseline benchmarks:
console.time('FIND');qb.projects.chromium.IssueDAO.where(DefaultQuery.create({arg1: 'mark'})).select(COUNT())(console.log.json);console.timeEnd('FIND'); { "model": "CountExpr", "count": 148 } foam.js:404 FIND: 52.372ms VM423:2
console.time('FIND');qb.projects_.chromium.IssueDAO.where(CONTAINSIC(QIssue.SUMMARY, 'mark')).select(COUNT())(console.log.json);console.timeEnd('FIND'); { "model": "CountExpr", "count": 148 } foam.js:404 FIND: 86.596ms
From k...@chromium.org on February 18, 2014 21:20:05
Now searches all 'cc' and 'owner' fields as well.
CONTAINS_IC is now about twice as fast (86ms down to 40ms) so that searching the extra two fields isn't making it much slower than it originally was (now up to 95ms).
Status: Fixed
From k...@chromium.org on February 19, 2014 06:34:37
I've switched 'cc' and 'owner' searches to do prefix rather than full-text search, just like Crbug. As a result, our search time is now down to 72ms, which is faster than the 86ms we originally took to just search the 'summary' field.
From k...@chromium.org on February 18, 2014 23:00:27
In Crbug, a query to an unspecified field searches the 'summary', 'owner', and 'cc' fields. QuickBug currently only searches the 'summary' field but should search the other two fields as well.
Original issue: http://code.google.com/p/foam-framework/issues/detail?id=198