#
963ebbca |
| 15-Sep-2020 |
Andrew Lindesay <apl@lindesay.co.nz> |
HaikuDepot: Icon / Tarball Handling - Fix
Resolves #16523
Change-Id: Ied52904da51455fe164cda93daecde6dc3e051d4 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3219 Reviewed-by: Adrien Destugues
HaikuDepot: Icon / Tarball Handling - Fix
Resolves #16523
Change-Id: Ied52904da51455fe164cda93daecde6dc3e051d4 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3219 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
show more ...
|
#
f0e491d3 |
| 28-Jul-2020 |
Andrew Lindesay <apl@lindesay.co.nz> |
HaikuDepot: Icon / Tarball Handling
Instead of exploding the tar-ball of icons from HDS, keep it as a tar-ball, index it and read data directly out from specific indicies on demand.
This will speed
HaikuDepot: Icon / Tarball Handling
Instead of exploding the tar-ball of icons from HDS, keep it as a tar-ball, index it and read data directly out from specific indicies on demand.
This will speed up the process of downloading the icons by removing the unpack. Also updates will be faster by avoiding the need to delete the old icon files.
Because icons are loaded on-demand, the start time is faster by avoiding all the icon loads. There are also savings on memory consumption.
Indexing on each load is surprisingly fast so no external index is maintained. Likewise for the tar-balls's meta-data.
This commit does not cover the implementation of an LRU cache of the icons in memory.
Relates to #15370
Change-Id: Ia1647d8c805be89618f493d2592bf7877fca3f14 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3205 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
show more ...
|
#
3369e03d |
| 15-Dec-2018 |
Andrew Lindesay <apl@lindesay.co.nz> |
HaikuDepot: Process and Data-loading Improvements
This change is a reshuffle of the backend processing involved in the aquisition of data from servers including the pull-down and load of HPKR data a
HaikuDepot: Process and Data-loading Improvements
This change is a reshuffle of the backend processing involved in the aquisition of data from servers including the pull-down and load of HPKR data as well as the pull-down and load of data from the HaikuDepotServer (HDS) system. The driver for this change is to implement an initial implementation of a progress bar for the loading of data as the application starts.
The following are notable changes;
* Removed some previously attempted 'functional style' logic in the model which didn't fit well with C++ * Use of the base-url in the logical mapping from HDS and HD data is no longer required and has been removed * Some logging has been improved making it clearer which part of HD is producing the logging which in turn helps with debugging issues * List class has been modified to more cleanly support sorted lists and binary searches; tests have also be updated accordingly * Reorganise and tidy-up of the data-loading processes' structures * The local repository update (HPKR) and data-load occur in background processes now in the same system as the HDS data-load - this has been crudely shifted from the MainWindow to new Processes and incorporated into the background processing system * The 'state-machine' background process runner is now replaced with a 'coordinator' style approach that can more easily handle the new processes related to HPKR loading. * Progress for loading processes is shown in the main window in the WorkStatusView - this is flickering a bit, but basically works * Added some documentation regarding how Processes work in the system * The "Refresh Repositories" menu item now also updates data from HDS * The "Refresh Repositories" menu item is disabled when the background processes are running that update the repository data
Some further refinement would be good, but this change is large enough for one round of improvements. There is an issue that the status bar is used for screenshot display as well as this data-loading, but that was the case before so it is something that can be dealt with later if it is a problem.
Change-Id: I7668307645e3aabaf7e4a6e37e2cca80cc0f489e Reviewed-on: https://review.haiku-os.org/770 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
show more ...
|
#
3094fef3 |
| 19-Dec-2017 |
Andrew Lindesay <apl@lindesay.co.nz> |
HaikuDepot : More Backend Communications Improvements
* Further improves the logging and provides some basic performance numbers. * Moves the bulk-load logic out of the data-model class. * Intro
HaikuDepot : More Backend Communications Improvements
* Further improves the logging and provides some basic performance numbers. * Moves the bulk-load logic out of the data-model class. * Introduces a state-machine for the bulk-load process so that it will be more easily able to be shifted to non-blocking IO when the HTTP libraries can do that. * Implements concurrent loading of the bulk-data to hopefully improve lead time for icons and meta-data. * Loads data to a temporary file and then moves to the final location in order to avoid partially written data in the cache. * Handles situations where no network is available; prevents attempt to access the network. * Allows bulk-load processes to be cancelled when the application quits. * Introduces command-line arguments to help simulate scenarios to help with testing performance and network absence. * Implements ordered insert and binary search in the 'List' class + basic unit test.
show more ...
|
#
19c15fec |
| 27-Jan-2017 |
Andrew Lindesay <apl@lindesay.co.nz> |
HaikuDepot: Improve icon download handling performance
Previously each icon would launch an independent HTTP request to pull down the HVIF icon data. This change means that the data will be pulled
HaikuDepot: Improve icon download handling performance
Previously each icon would launch an independent HTTP request to pull down the HVIF icon data. This change means that the data will be pulled down in bulk across all packages as a .tgz and will then be kept in a cache locally. The client-server logic will use standard "If-Modified-Since" headers to check for updates each time the HaikuDepot desktop application starts up. This arrangement will bring down the HVIF as well as bitmap icons and use the best representation it can.
Additionally, it is possible from a command-line option to log HTTP traffic verbosely and it is also possible to use an "-h" flag to display help on command-line arguments.
The code-structure around this change also anticipates some future extensions to handle other client-server improvements.
Fixes #11804
show more ...
|