We started with a local rescan that took:
121249081 function calls (121023286 primitive calls) in 665.469
CPU seconds
Latest profile info for Local Rescan shows:
17240440 function calls (17018317 primitive calls) in 506.979
CPU seconds
And the next bottleneck to tackle is cPickle.load, as per:
ncalls tottime percall cumtime percall filename:lineno(function)
354949 180.393 0.001 183.109 0.001 {cPickle.load}
2581 83.872 0.032 319.376 0.124
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/filesystem_manager.py:507(get_mdobjs_in_dir)
4539 42.603 0.009 42.603 0.009 {posix.listdir}
58545 36.384 0.001 36.384 0.001 {posix.remove}
58476 26.243 0.000 26.243 0.000 {method 'remove' of
'collections.deque' objects}
354949 16.301 0.000 16.301 0.000 {open}
37542 12.212 0.000 12.212 0.000 {posix.lstat}
459845 12.203 0.000 271.947 0.001
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/file_shelf.py:212(__getitem__)
886460 10.724 0.000 17.639 0.000
/usr/lib/python2.6/posixpath.py:59(join)
354949 9.861 0.000 211.277 0.001
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/file_shelf.py:118(_load_pickle)
459845 8.220 0.000 11.197 0.000
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/file_shelf.py:292(purge)
393979 6.764 0.000 23.727 0.000
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/file_shelf.py:67(key_file)
459845 4.862 0.000 7.537 0.000
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/file_shelf.py:256(__getitem__)
2375292 3.857 0.000 3.857 0.000 {len}
1732359 3.702 0.000 3.702 0.000 {method 'startswith' of 'str'
objects}
459845 3.496 0.000 5.244 0.000
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/file_shelf.py:287(update)
218207 3.465 0.000 46.556 0.000
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/filesystem_manager.py:950(changed)
444246/222123 3.455 0.000 4.842 0.000
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/filesystem_manager.py:141(__init__)
1674418 3.345 0.000 3.345 0.000 {method 'endswith' of 'str'
objects}
354949 3.238 0.000 235.622 0.001
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/file_shelf.py:142(__getitem__)
354949 2.819 0.000 16.586 0.000
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/file_shelf.py:270(__setitem__)
2581 2.778 0.001 369.058 0.143
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/local_rescan.py:182(_get_share_info)
354813 2.715 0.000 2.715 0.000
/usr/lib/python2.6/os.py:721(_make_stat_result)
218207 1.992 0.000 3.211 0.000
/usr/lib/python2.6/posixpath.py:79(split)
900176 1.743 0.000 1.743 0.000 {method 'get' of 'dict' objects}
354949 1.474 0.000 184.583 0.001
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/file_shelf.py:111(_unpickle)
2581 1.443 0.001 77.223 0.030
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/local_rescan.py:494(_paths_filter)
444246 1.387 0.000 1.387 0.000 {method 'update' of 'dict'
objects}
715986 1.305 0.000 1.305 0.000 {method 'append' of 'list'
objects}
218207 1.268 0.000 1.943 0.000
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/filesystem_manager.py:922(_get_mdid_from_args)
2581 1.160 0.000 506.973 0.196
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/local_rescan.py:545(inner_scan)
81745 1.114 0.000 1.114 0.000
/usr/lib/python2.6/logging/__init__.py:1222(getEffectiveLevel)
19515 1.036 0.000 1.872 0.000
/usr/lib/python2.6/posixpath.py:308(normpath)
19515 0.856 0.000 39.860 0.002
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/file_shelf.py:163(__delitem__)
474845 0.817 0.000 0.817 0.000 {method 'append' of
'collections.deque' objects}
2581 0.816 0.000 450.035 0.174
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/local_rescan.py:231(_compare)
458022 0.763 0.000 0.763 0.000 {method 'popleft' of
'collections.deque' objects}
19515 0.700 0.000 71.420 0.004
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/filesystem_manager.py:678(delete_metadata)
81745 0.633 0.000 2.214 0.000
/usr/lib/python2.6/logging/__init__.py:1096(log)
19515 0.618 0.000 67.340 0.003
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/file_shelf.py:228(__delitem__)
354949 0.532 0.000 0.532 0.000 {method '__enter__' of 'file'
objects}
19515 0.519 0.000 26.808 0.001
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/file_shelf.py:276(__delitem__)
222126 0.508 0.000 0.508 0.000 {method 'rfind' of 'str' objects}
81745 0.467 0.000 1.581 0.000
/usr/lib/python2.6/logging/__init__.py:1236(isEnabledFor)
222003 0.418 0.000 0.418 0.000 {method 'rstrip' of 'str' objects}
37530 0.403 0.000 0.403 0.000 {posix.access}
110027 0.177 0.000 0.177 0.000
/usr/lib/python2.6/stat.py:24(S_IFMT)
23431 0.167 0.000 0.167 0.000 {method 'split' of 'str' objects}
37542 0.147 0.000 12.359 0.000
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/filesystem_manager.py:1155(get_stat)
37542 0.137 0.000 0.200 0.000
/usr/lib/python2.6/stat.py:55(S_ISLNK)
37530 0.130 0.000 0.189 0.000
/usr/lib/python2.6/stat.py:40(S_ISDIR)
34955 0.119 0.000 0.174 0.000
/usr/lib/python2.6/stat.py:49(S_ISREG)
19515 0.101 0.000 0.101 0.000 {method 'join' of 'str' objects}
19516 0.096 0.000 0.096 0.000 {isinstance}
3916 0.088 0.000 0.381 0.000
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/filesystem_manager.py:543(get_by_mdid)
37510 0.075 0.000 0.075 0.000 {method 'pop' of 'dict' objects}
3659 0.058 0.000 0.058 0.000 {posix.stat}
19515 0.055 0.000 0.055 0.000
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/file_shelf.py:283(__contains__)
3916 0.048 0.000 0.075 0.000
/usr/lib/python2.6/posixpath.py:117(dirname)
3916 0.028 0.000 0.057 0.000
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/filesystem_manager.py:1048(get_abspath)
3659 0.025 0.000 0.083 0.000
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/local_rescan.py:265(check_stat)
3916 0.021 0.000 0.029 0.000
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/filesystem_manager.py:1039(_get_share)
5162 0.012 0.000 0.012 0.000 {method 'iteritems' of 'dict'
objects}
2581 0.006 0.000 0.006 0.000 {method 'extend' of 'list'
objects}
2581 0.005 0.000 0.005 0.000 {method 'disable' of
'_lsprof.Profiler' objects}
10 0.001 0.000 0.001 0.000 {sum}
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/__init__.py:226(__init__)
1 0.000 0.000 0.000 0.000 {method 'flush' of 'file' objects}
2 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/__init__.py:382(formatTime)
1 0.000 0.000 0.000 0.000
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/logger.py:86(shouldRollover)
2 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/__init__.py:423(format)
10 0.000 0.000 0.000 0.000 {method 'itervalues' of 'dict'
objects}
2 0.000 0.000 0.000 0.000 {time.localtime}
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/__init__.py:756(emit)
2 0.000 0.000 0.000 0.000 {time.strftime}
2 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/__init__.py:637(format)
2 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/__init__.py:289(getMessage)
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/__init__.py:1113(findCaller)
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/__init__.py:1196(callHandlers)
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/__init__.py:660(handle)
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/threading.py:116(acquire)
1 0.000 0.000 0.001 0.001
/usr/lib/python2.6/logging/__init__.py:1147(_log)
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/handlers.py:63(emit)
3 0.000 0.000 0.000 0.000
/usr/lib/python2.6/string.py:351(find)
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/threading.py:136(release)
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/__init__.py:148(getLevelName)
6 0.000 0.000 0.000 0.000 {hasattr}
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/genericpath.py:85(_splitext)
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/__init__.py:1167(handle)
2 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/__init__.py:560(filter)
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/__init__.py:520(filter)
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/__init__.py:1134(makeRecord)
1 0.000 0.000 0.000 0.000 {method 'seek' of 'file' objects}
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/__init__.py:76(<lambda>)
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/__init__.py:749(flush)
2 0.000 0.000 0.000 0.000 {time.time}
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/__init__.py:843(emit)
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/handlers.py:269(shouldRollover)
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/posixpath.py:109(basename)
3 0.000 0.000 0.000 0.000 {method 'find' of 'str' objects}
1 0.000 0.000 0.000 0.000
/home/rtg/Projects/ubuntuone/speed-up-that-local-rescan/ubuntuone/syncdaemon/logger.py:124(filter)
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/__init__.py:617(acquire)
4 0.000 0.000 0.000 0.000 {thread.get_ident}
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/threading.py:808(currentThread)
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/logging/__init__.py:624(release)
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/posixpath.py:94(splitext)
1 0.000 0.000 0.000 0.000 {method 'write' of 'file' objects}
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/threading.py:662(name)
2 0.000 0.000 0.000 0.000
/usr/lib/python2.6/threading.py:64(_note)
1 0.000 0.000 0.000 0.000 {method 'tell' of 'file' objects}
1 0.000 0.000 0.000 0.000 {built-in method acquire}
1 0.000 0.000 0.000 0.000 {sys._getframe}
1 0.000 0.000 0.000 0.000 {built-in method release}
1 0.000 0.000 0.000 0.000 {posix.getpid}
1 0.000 0.000 0.000 0.000
/usr/lib/python2.6/posixpath.py:42(normcase)
--
LR should be faster when getting file stats
https://bugs.launchpad.net/bugs/476711
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs