-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
ALL
-
Dev Platform 2020-01-27
Looks like it causes more stat calls and thread locking?
Welcome to the profile statistics browser. profile.out% sort tottime profile.out% stats 20 Tue Dec 10 13:35:03 2019 profile.out 112175380 function calls (108676533 primitive calls) in 146.992 seconds Ordered by: internal time List reduced from 3961 to 20 due to restriction <20> ncalls tottime percall cumtime percall filename:lineno(function) 17926 20.492 0.001 20.492 0.001 {method 'acquire' of '_thread.lock' objects} 58995 8.523 0.000 8.523 0.000 {built-in method posix.stat} 6823874 7.841 0.000 13.207 0.000 /home/chasinglogic/.virtualenvs/mongo/lib/python3.6/abc.py:180(__instancecheck__) 16476347/16475032 7.102 0.000 20.309 0.000 {built-in method builtins.isinstance} 459806/459759 6.547 0.000 7.716 0.000 {built-in method builtins.__build_class__} 41834 5.691 0.000 5.691 0.000 {built-in method posix.lstat} 13504238 5.347 0.000 5.347 0.000 /home/chasinglogic/.virtualenvs/mongo/lib/python3.6/_weakrefset.py:70(__contains__) 950696/761300 3.617 0.000 11.383 0.000 /home/chasinglogic/Work/mongo/src/third_party/scons-3.1.1/scons-local-3.1.1/SCons/Subst.py:428(expand) 608274/606595 3.556 0.000 37.532 0.000 /home/chasinglogic/Work/mongo/src/third_party/scons-3.1.1/scons-local-3.1.1/SCons/Subst.py:403(scons_subst) 967100/63599 3.286 0.000 68.236 0.001 /home/chasinglogic/Work/mongo/src/third_party/scons-3.1.1/scons-local-3.1.1/SCons/Subst.py:649(expand) 997806/626032 2.514 0.000 17.452 0.000 {method 'sub' of '_sre.SRE_Pattern' objects} 757253 2.379 0.000 7.382 0.000 /home/chasinglogic/Work/mongo/src/third_party/scons-3.1.1/scons-local-3.1.1/SCons/Subst.py:819(add_new_word) 861866/5775 2.244 0.000 68.460 0.012 /home/chasinglogic/Work/mongo/src/third_party/scons-3.1.1/scons-local-3.1.1/SCons/Subst.py:732(substitute) 994424/451922 1.664 0.000 21.653 0.000 /home/chasinglogic/Work/mongo/src/third_party/scons-3.1.1/scons-local-3.1.1/SCons/Subst.py:515(substitute) 779292 1.613 0.000 1.613 0.000 {method 'findall' of '_sre.SRE_Pattern' objects} 721591 1.548 0.000 1.744 0.000 /home/chasinglogic/Work/mongo/src/third_party/scons-3.1.1/scons-local-3.1.1/SCons/Subst.py:828(literal) 5325604 1.492 0.000 6.636 0.000 /home/chasinglogic/Work/mongo/src/third_party/scons-3.1.1/scons-local-3.1.1/SCons/Util.py:407(is_String) 608274/606595 1.437 0.000 40.557 0.000 /home/chasinglogic/Work/mongo/src/third_party/scons-3.1.1/scons-local-3.1.1/SCons/Environment.py:499(subst) 578927/560017 1.281 0.000 1.674 0.000 /home/chasinglogic/Work/mongo/src/third_party/scons-3.1.1/scons-local-3.1.1/SCons/Environment.py:2311(__getattr__) 240078 1.243 0.000 15.985 0.000 /home/chasinglogic/Work/mongo/src/third_party/scons-3.1.1/scons-local-3.1.1/SCons/Environment.py:2023(Entry) profile.out% callers posix.stat Ordered by: internal time List reduced from 3961 to 1 due to restriction <'posix.stat'> Function was called by... ncalls tottime cumtime {built-in method posix.stat} <- 328 0.003 0.003 /home/chasinglogic/.virtualenvs/mongo/lib/python3.6/genericpath.py:16(exists) 199 0.002 0.002 /home/chasinglogic/.virtualenvs/mongo/lib/python3.6/genericpath.py:27(isfile) 5125 0.020 0.020 /home/chasinglogic/.virtualenvs/mongo/lib/python3.6/genericpath.py:39(isdir) 440 0.002 0.002 /home/chasinglogic/.virtualenvs/mongo/lib/python3.6/linecache.py:53(checkcache) 23 0.000 0.000 /home/chasinglogic/.virtualenvs/mongo/lib/python3.6/linecache.py:82(updatecache) 51466 8.488 8.488 /home/chasinglogic/Work/mongo/src/third_party/scons-3.1.1/scons-local-3.1.1/SCons/Node/FS.py:1131(stat) 150 0.001 0.001 /home/chasinglogic/Work/mongo/src/third_party/scons-3.1.1/scons-local-3.1.1/SCons/Util.py:786(WhereIs) 1264 0.007 0.007 <frozen importlib._bootstrap_external>:75(_path_stat) profile.out% callers _thread.lock Ordered by: internal time List reduced from 3961 to 5 due to restriction <'_thread.lock'> Function was called by... ncalls tottime cumtime {method 'acquire' of '_thread.lock' objects} <- 204 0.000 0.000 /usr/lib/python3.6/threading.py:251(_acquire_restore) 17121 0.010 0.010 /usr/lib/python3.6/threading.py:254(_is_owned) 408 20.474 20.474 /usr/lib/python3.6/threading.py:263(wait) 1 0.000 0.000 /usr/lib/python3.6/threading.py:893(_set_tstate_lock) 192 0.008 0.008 /usr/lib/python3.6/threading.py:1062(_wait_for_tstate_lock) {method '__enter__' of '_thread.lock' objects} <- 17109 0.082 0.082 /usr/lib/python3.6/threading.py:239(__enter__) {method 'release' of '_thread.lock' objects} <- 204 0.000 0.000 /usr/lib/python3.6/threading.py:248(_release_save) 8554 0.064 0.064 /usr/lib/python3.6/threading.py:334(notify) 192 0.000 0.000 /usr/lib/python3.6/threading.py:1062(_wait_for_tstate_lock) {method '__exit__' of '_thread.lock' objects} <- 17109 0.004 0.004 /usr/lib/python3.6/threading.py:242(__exit__) {method 'locked' of '_thread.lock' objects} <- 192 0.000 0.000 /usr/lib/python3.6/threading.py:966(_stop)