Avoid parallel copy operations

Any wishes
Locked
warpkanal
Posts: 78
Joined: Mon Jan 30, 2017 5:24 pm

Avoid parallel copy operations

Post by warpkanal » Mon Jan 30, 2017 6:51 pm

Would love to have the option to either explicitly queue (copy) operations or simply have a global option to e.g. only process 1 (copy) operation at a time and enqueue all other.
Why: when copying big files (esp. on non-flash storage), doing this in parallel slows down the operations greatly (and the total time taken will be much bigger than if the operations would have been done one after the other)

JayB
Posts: 192
Joined: Sun Jan 08, 2017 4:38 pm

Re: Avoid parallel copy operations

Post by JayB » Mon Jan 30, 2017 7:05 pm

That's right. Noticed this too. But Finder has the same problem with copy on rotating disks. On SSDs this shouldn't really be a problem; afaik SSDs can do multiple write operations simultaneously, different from legacy disks which can only write one thing at a time. (But I might be wrong on this.)

warpkanal
Posts: 78
Joined: Mon Jan 30, 2017 5:24 pm

Re: Avoid parallel copy operations

Post by warpkanal » Mon Jan 30, 2017 7:23 pm

You're right, on SSDs the problem is not that apparent (as there is no reading head that must be re-positioned over and over), while on spindles it's very noticeable.
I've seen two solutions in filemanagers to this: a) allow to explicitly queue operations (e.g. in good old TotalCommander(Win) or Commander One (Mac)) or b) have a setting to restrict parallel operations to a given number where you can enter '1' to effectively disable parallel operations (e.g. in ForkLift or Crax)
(while I prefer option b) instead of having every time to explicitly queue a copy operation)

JayB
Posts: 192
Joined: Sun Jan 08, 2017 4:38 pm

Re: Avoid parallel copy operations

Post by JayB » Mon Jan 30, 2017 8:53 pm

I also prefer option b, but there should also be the value 0 for "no restrictions", ergo:

0: no restrictions (as many simultaneous operations as possible)
1: queue (1 operation at a time)
2–n: restrict to 2–n simultaneous operations at a time

warpkanal
Posts: 78
Joined: Mon Jan 30, 2017 5:24 pm

Re: Avoid parallel copy operations

Post by warpkanal » Mon Jan 30, 2017 8:57 pm

makes sense to me, hopefully also to mike :)

User avatar
mike
Posts: 1060
Joined: Thu Jul 16, 2015 5:35 am
Location: Exeter, UK

Re: Avoid parallel copy operations

Post by mike » Wed Feb 01, 2017 5:23 am

I agree with simple approach of limiting amount of concurrent operations per-window, with ability to tune it in Preferences.

Personally I've been thinking about some more sophisticated system, which will decide if operation can be concurrent or not depending on it's source and target, their media types, operation type etc etc blah-blah. Ah, also chaining of operations depending on that info.
Every time it has ended up with some monstrous design, sufficient to write another PhD thesis :D
So every time I've decided to leave this untouched, since such intelligent system would take huge amount of time to implement and debug.

User avatar
swoop
Posts: 54
Joined: Thu Mar 02, 2017 2:40 pm
Location: Brussels, Belgium

Re: Avoid parallel copy operations

Post by swoop » Sun Mar 05, 2017 9:00 am

Since simple approach seems to be viable, I'm moving my proposal from http://magnumbytes.com/forum/viewtopic.php?f=6&t=223.

---
One feature that is a must (and present in TC on Win and other Commanders on macOS) is file queue.

I see that NC has file operation list. That is an amazing start and a feature. I'd like to suggest the next steps.
- When starting Copy/Move (F5/F6) option to queue operation
- Setting to start file operations queued (executed sequentially) always
- Include delete in file operations (deleting can be queued and will be executed after successful previous file operations)

There are many additional use cases, but the above will be covering the proverbial 80%. Cheers!
Total Commander (Windows 95 - Windows 7) (retired for Mac)
Nimble Commander (retired Crax, Commander One, DCommander)
Macbook 12" 2016 - macOS High Sierra

Locked