Show progress while loading the record index
On a database with tens of millions of records, indexing the existing rows before the walk takes real single-core time with no output, which is indistinguishable from a hang. Give the load its own spinner, and render every phase display the moment the phase starts instead of waiting for its first completed item.
This commit is contained in:
@@ -395,9 +395,11 @@ all dupe rows) in human units.
|
||||
Use the progress-bar library for all scan progress; rendering in the
|
||||
style of `pv` is the model. All progress goes to stderr.
|
||||
|
||||
Each phase gets its own display. The walk has no known total while
|
||||
running: show a live file count, rate, and elapsed time
|
||||
(spinner-style, no percentage or ETA). The hash and update phases
|
||||
Each phase gets its own display, rendered the moment the phase
|
||||
starts — a scan must never look hung. Loading the existing-record
|
||||
index (`load`) and the walk have no known totals while running: show
|
||||
a live count, rate, and elapsed time (spinner-style, no percentage or
|
||||
ETA). The hash and update phases
|
||||
have exact totals — only files that actually need hashing appear in
|
||||
the hash total, so its ETA is meaningful. Required elements for the
|
||||
bars with known totals:
|
||||
|
||||
Reference in New Issue
Block a user