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

Issue 12036022: Split recursive Copy/Move into async tasks and support cross operation (in local case) (Closed)

Created:
7 years, 11 months ago by kinuko
Modified:
7 years, 10 months ago
Reviewers:
tzik
CC:
chromium-reviews, tzik+watch_chromium.org, kinuko+watch, darin-cc_chromium.org, Lei Zhang, vandebo (ex-Chrome), ericu
Visibility:
Public.

Description

Split recursive Copy/Move into async tasks and support cross operation (in local case) Also get cross-filesystem operation working (as far as both belong to LocalFileSystemOperation). (I'll make related clean-ups in follow-up patches later) Similarly to dividing Remove change this basically makes end-to-end recursive copy/move operation SLOW, while concurrent tasks won't be blocked for a long time. With config: 200 files, 120 dirs, 4-level tree, total 100MB * Copy: Before this change: Ave:164.01 msec, Stddev: 3.534 msec After this change: Ave:228.34 msec, Stddev: 36.014 msec * Move (copy+remove after this change): Before this change: Ave: 87.76 msec, Stddev: 4.631 msec After this change: Ave:392.12 msec, Stddev:35.340 msec Patch from: https://codereview.chromium.org/12018017/ Try results: https://codereview.chromium.org/12051010/ BUG=110121, 146215 TEST=content_browsertests:FileSystemLayoutTest.{OpCopy,OpMove,CrossFilesystemOp} Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=179128

Patch Set 1 : #

Patch Set 2 : comment fix #

Patch Set 3 : addressed eric's comment on 12051010 #

Total comments: 2

Patch Set 4 : addressed comments + leak fix merge #

Patch Set 5 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+911 lines, -324 lines) Patch
A webkit/fileapi/cross_operation_delegate.h View 1 1 chunk +104 lines, -0 lines 0 comments Download
A webkit/fileapi/cross_operation_delegate.cc View 1 2 3 1 chunk +267 lines, -0 lines 0 comments Download
M webkit/fileapi/file_system_file_util.h View 1 2 2 chunks +5 lines, -1 line 0 comments Download
M webkit/fileapi/file_system_file_util_proxy.h View 1 2 3 4 1 chunk +12 lines, -32 lines 0 comments Download
M webkit/fileapi/file_system_file_util_proxy.cc View 1 1 chunk +15 lines, -17 lines 0 comments Download
M webkit/fileapi/local_file_system_operation.h View 1 2 3 6 chunks +45 lines, -15 lines 0 comments Download
M webkit/fileapi/local_file_system_operation.cc View 1 2 3 33 chunks +141 lines, -116 lines 0 comments Download
M webkit/fileapi/local_file_system_operation_unittest.cc View 1 1 chunk +3 lines, -1 line 0 comments Download
M webkit/fileapi/obfuscated_file_util.cc View 1 2 1 chunk +3 lines, -1 line 0 comments Download
A webkit/fileapi/recursive_operation_delegate.h View 1 chunk +99 lines, -0 lines 0 comments Download
A webkit/fileapi/recursive_operation_delegate.cc View 1 2 3 1 chunk +145 lines, -0 lines 0 comments Download
M webkit/fileapi/remove_operation_delegate.h View 1 chunk +17 lines, -32 lines 0 comments Download
M webkit/fileapi/remove_operation_delegate.cc View 2 chunks +50 lines, -108 lines 0 comments Download
M webkit/fileapi/syncable/syncable_file_system_unittest.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M webkit/fileapi/webkit_fileapi.gypi View 2 chunks +4 lines, -0 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
kinuko
I'll add more tests (in separate patches) but bots look happy (https://codereview.chromium.org/12051010/) and it works ...
7 years, 11 months ago (2013-01-23 06:24:01 UTC) #1
tzik
lgtm https://codereview.chromium.org/12036022/diff/4016/webkit/fileapi/cross_operation_delegate.cc File webkit/fileapi/cross_operation_delegate.cc (right): https://codereview.chromium.org/12036022/diff/4016/webkit/fileapi/cross_operation_delegate.cc#newcode128 webkit/fileapi/cross_operation_delegate.cc:128: } For same_file_system && operation_type == MOVE case, ...
7 years, 11 months ago (2013-01-24 05:19:24 UTC) #2
kinuko
Addressed comments and merged memory leak fix. https://codereview.chromium.org/12036022/diff/4016/webkit/fileapi/cross_operation_delegate.cc File webkit/fileapi/cross_operation_delegate.cc (right): https://codereview.chromium.org/12036022/diff/4016/webkit/fileapi/cross_operation_delegate.cc#newcode128 webkit/fileapi/cross_operation_delegate.cc:128: } On ...
7 years, 11 months ago (2013-01-25 04:31:43 UTC) #3
tzik
7 years, 11 months ago (2013-01-28 02:21:53 UTC) #4
lgtm

Powered by Google App Engine
This is Rietveld 408576698