Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(164)

Issue 12018017: FileAPI: Split recursive remove into multiple async tasks (Closed)

Created:
7 years, 11 months ago by kinuko
Modified:
7 years, 11 months ago
Reviewers:
ericu, tzik
CC:
chromium-reviews, tzik+watch_chromium.org, kinuko+watch, darin-cc_chromium.org, ericu
Visibility:
Public.

Description

FileAPI: Split recursive remove into multiple async tasks 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=178542

Patch Set 1 #

Patch Set 2 : cros tests fix #

Patch Set 3 : delegate impl cleanup #

Patch Set 4 : rebased #

Total comments: 2

Patch Set 5 : rebase + addressed comment #2 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+382 lines, -51 lines) Patch
M webkit/fileapi/file_system_file_util_proxy.h View 1 chunk +9 lines, -4 lines 0 comments Download
M webkit/fileapi/file_system_file_util_proxy.cc View 1 chunk +16 lines, -3 lines 0 comments Download
M webkit/fileapi/local_file_system_operation.h View 1 2 3 4 6 chunks +47 lines, -0 lines 0 comments Download
M webkit/fileapi/local_file_system_operation.cc View 1 2 3 4 25 chunks +75 lines, -35 lines 0 comments Download
M webkit/fileapi/local_file_system_operation_unittest.cc View 1 2 3 4 1 chunk +0 lines, -3 lines 0 comments Download
M webkit/fileapi/obfuscated_file_util.cc View 1 2 1 chunk +2 lines, -4 lines 0 comments Download
A webkit/fileapi/remove_operation_delegate.h View 1 2 1 chunk +64 lines, -0 lines 0 comments Download
A webkit/fileapi/remove_operation_delegate.cc View 1 2 3 1 chunk +166 lines, -0 lines 0 comments Download
M webkit/fileapi/syncable/syncable_file_system_operation.cc View 1 chunk +1 line, -2 lines 0 comments Download
M webkit/fileapi/webkit_fileapi.gypi View 1 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
kinuko
PTL thanks,
7 years, 11 months ago (2013-01-21 04:07:35 UTC) #1
tzik
lgtm https://codereview.chromium.org/12018017/diff/13010/webkit/fileapi/local_file_system_operation.h File webkit/fileapi/local_file_system_operation.h (right): https://codereview.chromium.org/12018017/diff/13010/webkit/fileapi/local_file_system_operation.h#newcode101 webkit/fileapi/local_file_system_operation.h:101: nit: add empty comment line?
7 years, 11 months ago (2013-01-23 03:44:41 UTC) #2
ericu
I haven't checked this in detail, but I wanted to comment on the fact that ...
7 years, 11 months ago (2013-01-23 17:59:46 UTC) #3
kinuko
On 2013/01/23 17:59:46, ericu wrote: > I haven't checked this in detail, but I wanted ...
7 years, 11 months ago (2013-01-24 01:12:10 UTC) #4
ericu
Sorry, reentrancy was the wrong word. It allows overlapping with other operations. So now a ...
7 years, 11 months ago (2013-01-24 01:16:29 UTC) #5
kinuko
That's true, they are no longer atomic. Apps will have a higher possibility to have ...
7 years, 11 months ago (2013-01-24 01:33:54 UTC) #6
kinuko
https://codereview.chromium.org/12018017/diff/13010/webkit/fileapi/local_file_system_operation.h File webkit/fileapi/local_file_system_operation.h (right): https://codereview.chromium.org/12018017/diff/13010/webkit/fileapi/local_file_system_operation.h#newcode101 webkit/fileapi/local_file_system_operation.h:101: On 2013/01/23 03:44:41, tzik wrote: > nit: add empty ...
7 years, 11 months ago (2013-01-24 02:44:45 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/kinuko@chromium.org/12018017/14017
7 years, 11 months ago (2013-01-24 04:21:03 UTC) #8
commit-bot: I haz the power
7 years, 11 months ago (2013-01-24 07:20:47 UTC) #9
Message was sent while issue was closed.
Change committed as 178542

Powered by Google App Engine
This is Rietveld 408576698