"Gathering information about your system" still takes too long
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Checkbox |
Fix Released
|
Low
|
Daniel Manrique |
Bug Description
Checkbox 0.13.2 debuted a new job caching mechanism that speeds up the gathering phase, improving on user experience in this area, where we usually get complaints because it's too slow.
However this is still taking quite a bit of time; about 40 seconds on a relatively fast laptop. This negatively impacts the user experience and should ideally be reduced.
I dug into this a bit and found out the main cause is that we're too careful when writing information to disk; checkbox rev 1090 implements a very aggressive flushing policy meant to ensure that data won't be lost even if checkbox crashes mid-run.
However, when first starting checkbox, we don't have any data really worth keeping, and the gathering phase runs automatically anyway.
Finding a way to make the gathering jobs run without flushing to disk could help improve performance and provide a better user experience.
Related branches
- Marc Tardif (community): Approve
-
Diff: 180 lines (+53/-14)6 files modifiedcheckbox/contrib/persist.py (+12/-9)
checkbox/lib/safe.py (+4/-3)
checkbox/message.py (+6/-2)
debian/changelog (+2/-0)
plugins/jobs_prompt.py (+15/-0)
plugins/persist_info.py (+14/-0)
- Ubuntu Sponsors: Pending requested
-
Diff: 4467 lines (+1171/-1190)26 files modifiedcheckbox/contrib/persist.py (+12/-9)
checkbox/lib/safe.py (+4/-3)
checkbox/message.py (+6/-2)
checkbox/user_interface.py (+7/-0)
checkbox_cli/cli_interface.py (+97/-1)
checkbox_gtk/gtk_interface.py (+1/-1)
checkbox_qt/qt_interface.py (+2/-2)
checkbox_urwid/urwid_interface.py (+323/-84)
debian/changelog (+28/-0)
debian/po/es.po (+2/-1)
debian/po/ja.po (+3/-6)
debian/po/zh_TW.po (+1/-3)
jobs/disk.txt.in (+1/-1)
jobs/info.txt.in (+2/-2)
jobs/miscellanea.txt.in (+1/-1)
jobs/suspend.txt.in (+1/-1)
plugins/jobs_prompt.py (+15/-0)
plugins/launchpad_report.py (+52/-0)
plugins/persist_info.py (+14/-0)
plugins/report_prompt.py (+1/-0)
po/ast.po (+115/-115)
po/el.po (+132/-100)
po/sk.po (+95/-45)
qt/frontend/qrc_resources.cpp (+0/-603)
qt/frontend/qtfront.ui (+255/-209)
qt/frontend/treemodel.cpp (+1/-1)
Changed in checkbox: | |
milestone: | none → 0.13.3 |
Changed in checkbox: | |
assignee: | nobody → Daniel Manrique (roadmr) |
importance: | Undecided → Low |
status: | New → In Progress |
Changed in checkbox: | |
status: | In Progress → Fix Committed |
Changed in checkbox: | |
status: | Fix Committed → Fix Released |