[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [p2-dev] query performance

Hi Thomas,

I exported all IUs from my customized repository to p2's simple metadata repository that is capable of producing indexes.

Then using the query language to query the same content from new repository, it is much faster than querying the repository without indexes. But the query speed is still much slower than slicer and for-loop.

And the 'traverse' expression is much slower than my original query expression as well. The test result is also published by spreadsheet[1].

Could you pls help me understand the testing result?

If you need the test data and code, I'll upload it.

Thanks a lot.

[1] https://spreadsheets.google.com/spreadsheet/ccc?key=0AmxBoq-n1R8KdEZ4czdpQk9lMEpvR3pUbzZaZzltTGc

Mengxin Zhu

On 08/10/2011 02:21 PM, Thomas Hallgren wrote:
On 2011-08-10 08:12, Mengxin Zhu wrote:
Hi Thomas,

Thank you for analyzing the bottleneck of my query.

RequiredCapability doesn't support 'namespace' member. So I used below query expression for testing,

"$0.traverse(set(), _, { cache, parent | parent.requirements.unique(cache).collect(rc | select(iu | iu ~= rc)).flatten()})"

However the result is amazing. It costs much more time to query the great number of IUs. I updated the document and benchmark spreadsheet listed below. What do you think?

It looks like the query performs sequential scans instead of using indexes. What type of repository is the 'allIUs' it that you're querying? I'm curious because it doesn't seem to be capable of producing indexes.

- thomas

_______________________________________________ p2-dev mailing list p2-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/p2-dev