Description2nd try: FileAPI: Split recursive remove into multiple tasks.
Original review page: https://codereview.chromium.org/12018017/
While this change makes each recursive delete run slower, concurrent jobs can run without waiting for the entire recursive job to finish.
Recursive remove end-to-end (200 files, 120 dirs, 4-level tree, total 100MB):
Before this change: Ave: 72.94 msec, Stddev: 3.571 msec
After this change: Ave:129.54 msec, Stddev: 25.368 msec
It takes 1.76 times slower than before by average (we can probably do more optimization as this implementation doesn't care much about it), while another concurrent file task called immediately after the delete could finish in 1-5 msec (while back then it needed to wait for 70-80 msec).
BUG=146215
TEST=content_unittests:.*File.*,content_browsertests:FileSystemLayoutTests.OpRemove
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=179102
Patch Set 1 #Patch Set 2 : leak fix #Patch Set 3 : another option #Patch Set 4 : more leak fixes #Patch Set 5 : rebased #Messages
Total messages: 8 (0 generated)
|