Software Center Dynamic App View

Registered by Michael Vogt

The current application list does not scale well when it needs to display a huge number of packages at once (e.g. ~30k). Rewrite it so that rows gets added as they become available (maybe moving the actual search into a dbus backend). See lp:~mvo/softwarecenter/dynamic-adds for a prototype that works entirely with the event loop

Blueprint information

Status:
Complete
Approver:
Duncan McGreggor
Priority:
Undefined
Drafter:
Michael Vogt
Direction:
Needs approval
Assignee:
Michael Vogt
Definition:
New
Series goal:
Accepted for maverick
Implementation:
Implemented
Milestone target:
None
Started by
Michael Vogt
Completed by
Michael Vogt

Related branches

Sprints

Whiteboard

The branch lp:~mvo/software-center/dynamic-adds implements a dynamic update behavior that uses row_added signals and shows a partial available query. It turns out that its far too slow with big amounts of data and that its much better to construct it in one go. Together with the hidding of technical items by default now this brings the performance for e.g. the "Provided by Ubuntu" to a reasonable level.

Work items:
measure how long getting the mset from the xapian db takes compared to reading all documents (displaying all rows 13s, just reading the data from xapian 7s): DONE
create branch that does not load the model in one go but instead uses "row_added": DONE
measure how long it takes until the model/view is fully populated with that (depending on the paramter it can take several minutes because with the row_added signals): DONE
find a better way in trunk/ (hidding non-technical items by default and it only takes 0.8s to display it all, still 13s when clicking on show all): DONE

(?)

Work Items