Skip to content

Sync only at the end of file transfers to fix performance regression - #2843

Open
vjr wants to merge 2 commits into
mainfrom
vishal/throttle-syncs
Open

vjr wants to merge 2 commits into
mainfrom
vishal/throttle-syncs

Conversation

@vjr

@vjr vjr commented Sep 25, 2026 •

Copy link
Copy Markdown
Member

Fixes the slowdown introduced by #2828 to fix #2818 while preserving the intent of keeping users informed that their file transfers are in progress so they don't inadvertently unplug their external/removable storage.

The progress dialog now shows "finishing copy" or "finishing move" briefly at the end while the transfer is being synced.

Tested copy/move between fast/slow internal/external storage - fast nvme ssds and slow usb sticks.

vjr added 2 commits September 25, 2026 19:41
The previous commit throttling in between file transfers had essentially the same slowdown effect.
This commit works well by performing on par with CLI rsync and preserves the intent of #2828 for #2818.
@vjr vjr self-assigned this Sep 25, 2026
@vjr
vjr requested review from a team and jeremypw September 25, 2026 14:37
@vjr vjr changed the title Sync only at the end of file transfers to restore performance regression Sync only at the end of file transfers to fix performance regression Sep 25, 2026
@jeremypw jeremypw added this to the 7.3.3 milestone Sep 26, 2026
@jeremypw

jeremypw commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

@vjr Performance aside, I think main feels more natural with slow devices. With this PR, moving one large file onto a slow drive immediately shows progress of 100% (transfer to cache) but the progress window stays open for a long time showing "Finishing ..." but giving no indication of how long it will take. In main you get a better idea of the true rate of progress. For slow drives syncing often makes little performance difference, whereas for SSDs it makes a more significant difference. Not sure how to solve this in a simple manner - its probably not worth spending too much time on tbh. I'll maybe revisit after porting copy/move to Vala.

@jeremypw

Copy link
Copy Markdown
Contributor

@vjr I notice your first solution was to limit syncing on a time basis which seems reasonable (together with syncing after transferring the last file). What was the reason you tried a different solution?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Transfer progress bar finishes too fast

2 participants