When using 'emerge -s' to search something that is found very frequently, it takes a very long time till all results are ready. The problem is in class search, method execute. It takes a long time to find out the correct masked flag. This can be done at a later time, in output. The submitted patch fixes this. Reproducible: Always Steps to Reproduce: 1. Search for something that is frequently found, like 'emerge -s e' Actual Results: emerge takes a very long time until results show up Expected Results: same results, but the results should begin to show up as soon as possible
Created attachment 47044 [details, diff] executes masked-check at a later time so that results are displayed sooner move to /usr/bin to apply this patch
If the total time is the same, does it really matter if the results are shown now or later?
Looking at the patch, there is something wrong. It's appending the 'match' value onto that array... So you're storing zero every time. I'm not certain that the moved 'match' is ever actually used.
I think it does matter, from the usability point of view it is better to provide feedback as soon as possible, and not to wait.
Nicholas, The only occurence of the search that I have found is in line nr. 2714, where searchinstance.execute(mysearch) is called, and afterwards searchinstance.output(). So there should not be anything different. But I forgot to mention this, this definitely is a hack, as it is not allowed to use the search results between execute() and output() as the masked flag is not set correctly
Putting a hold on feature requests for portage as they are drowning out the bugs. Most of these features should be available in the next major version of portage. But for the time being, they are just drowning out the major bugs and delaying the next version's progress. Any bugs that contain patches and any bugs for etc-update or dispatch-conf can be reopened. Sorry, I'm just not good enough with bugzilla. ;)
Reopening for consideration.