2017-10-05 3 views
0

私はCPUにバインドされたシングルスレッドのPython 3プログラムを持っていますが、唯一のIOは2行の出力を出力します(ファイルの読み書きなし)。デスクトップと同じラップトップで2倍のCPUバウンドコード

私のデスクトップマシン(AMD Ryzen 1700x 3.8 GHz、16GB 3000 MHz DDR4)では、3400エピソード/秒で(一貫して)実行され、実行には約60秒かかっています。

私のラップトップ(Intel i7-6600U 2.8 GHz、16 GB 2000 MHz DDR3)では、パフォーマンスは7000エピソード/秒で倍増し、わずか30秒で実行されます。

どちらのマシンも、同じオペレーティングシステム(Fedora 26)と同じPythonバージョン(ソースからビルドされていない)を実行します。プロファイリングとき

多くはである何、が、コードはデスクトップ上で実行されている場合にのみ

10.999 tottime, 28.814 cumtime for arrayprint.py:557(fillFormat) 

を示す線があります。ラップトップでは、特定の関数はまったく表示されません(arrayprint関数のどれも1秒以上のtottimeを使用しません)。

マシン間でパフォーマンスが異なるが、プログラムの実行中に配列やリストがスクリーンに印刷されたり、文字列に変換されたり、ファイルに保存されたりすることは、奇妙ではありません。

は、ここでデスクトップのための完全プロフィールです:

  54499635 function calls (53787999 primitive calls) in 58.746 seconds 

    Ordered by: standard name 
    ncalls tottime percall cumtime percall filename:lineno(function) 
    533727 0.359 0.000 0.514 0.000 <frozen importlib._bootstrap>:402(parent) 
    533727 0.469 0.000 0.697 0.000 <frozen importlib._bootstrap>:989(_handle_fromlist) 
     1 0.000 0.000 58.746 58.746 <string>:1(<module>) 
     4 0.000 0.000 0.000 0.000 __init__.py:120(getLevelName) 
    567524 0.237 0.000 0.727 0.000 __init__.py:1284(debug) 
     2 0.000 0.000 0.000 0.000 __init__.py:1296(info) 
     2 0.000 0.000 0.000 0.000 __init__.py:1308(warning) 
     2 0.000 0.000 0.000 0.000 __init__.py:1320(warn) 
     4 0.000 0.000 0.000 0.000 __init__.py:1374(findCaller) 
     4 0.000 0.000 0.000 0.000 __init__.py:1404(makeRecord) 
     4 0.000 0.000 0.000 0.000 __init__.py:1419(_log) 
     4 0.000 0.000 0.000 0.000 __init__.py:1444(handle) 
     4 0.000 0.000 0.000 0.000 __init__.py:1498(callHandlers) 
    567528 0.175 0.000 0.175 0.000 __init__.py:1528(getEffectiveLevel) 
    567528 0.315 0.000 0.490 0.000 __init__.py:1542(isEnabledFor) 
     4 0.000 0.000 0.000 0.000 __init__.py:157(<lambda>) 
     4 0.000 0.000 0.000 0.000 __init__.py:251(__init__) 
     4 0.000 0.000 0.000 0.000 __init__.py:329(getMessage) 
     4 0.000 0.000 0.000 0.000 __init__.py:387(usesTime) 
     4 0.000 0.000 0.000 0.000 __init__.py:390(format) 
     4 0.000 0.000 0.000 0.000 __init__.py:540(usesTime) 
     4 0.000 0.000 0.000 0.000 __init__.py:546(formatMessage) 
     4 0.000 0.000 0.000 0.000 __init__.py:562(format) 
     8 0.000 0.000 0.000 0.000 __init__.py:703(filter) 
     8 0.000 0.000 0.000 0.000 __init__.py:807(acquire) 
     8 0.000 0.000 0.000 0.000 __init__.py:814(release) 
     4 0.000 0.000 0.000 0.000 __init__.py:827(format) 
     4 0.000 0.000 0.000 0.000 __init__.py:850(handle) 
     4 0.000 0.000 0.000 0.000 __init__.py:969(flush) 
     4 0.000 0.000 0.000 0.000 __init__.py:980(emit) 
    289159 0.101 0.000 1.491 0.000 _methods.py:31(_sum) 
    533727 0.175 0.000 1.613 0.000 _methods.py:37(_any) 
    177909 0.862 0.000 33.737 0.000 arrayprint.py:237(_get_formatdict) 
    177909 0.370 0.000 34.214 0.000 arrayprint.py:273(_get_format_function) 
    177909 0.686 0.000 39.971 0.000 arrayprint.py:315(_array2string) 
533727/177909 0.674 0.000 40.351 0.000 arrayprint.py:340(array2string) 
    1224652 0.960 0.000 1.554 0.000 arrayprint.py:467(_extendLine) 
    177909 1.671 0.000 4.320 0.000 arrayprint.py:475(_formatArray) 
    533727 0.682 0.000 29.496 0.000 arrayprint.py:543(__init__) 
    533727 10.999 0.000 28.814 0.000 arrayprint.py:557(fillFormat) 
    355336 1.600 0.000 5.432 0.000 arrayprint.py:589(<listcomp>) 
    2416068 2.677 0.000 3.832 0.000 arrayprint.py:642(_digits) 
    177909 0.720 0.000 2.378 0.000 arrayprint.py:652(__init__) 
    1224652 1.057 0.000 1.057 0.000 arrayprint.py:665(__call__) 
    533727 0.147 0.000 0.147 0.000 arrayprint.py:674(__init__) 
    177909 0.227 0.000 0.319 0.000 arrayprint.py:702(__init__) 
    177909 0.415 0.000 17.986 0.000 arrayprint.py:713(__init__) 
    177909 0.166 0.000 0.166 0.000 arrayprint.py:730(__init__) 
    177909 0.046 0.000 0.046 0.000 arrayprint.py:751(__init__) 
     1 0.000 0.000 0.000 0.000 enum.py:265(__call__) 
     1 0.000 0.000 0.000 0.000 enum.py:515(__new__) 
     1 0.000 0.000 0.000 0.000 enum.py:544(_missing_) 
    177909 0.206 0.000 0.206 0.000 enum.py:552(__str__) 
    177909 0.269 0.000 0.475 0.000 enum.py:564(__format__) 
    755408 0.248 0.000 0.366 0.000 enum.py:579(__hash__) 
    200000 0.037 0.000 0.037 0.000 enum.py:592(name) 
    27976 0.005 0.000 0.005 0.000 enum.py:597(value) 
    200524 0.443 0.000 0.641 0.000 eventgen.py:115(_push) 
    200001 0.492 0.000 0.885 0.000 eventgen.py:122(pop) 
    200000 0.892 0.000 1.036 0.000 eventgen.py:137(ce_str) 
    13988 0.017 0.000 0.034 0.000 eventgen.py:15(__lt__) 
    99676 0.168 0.000 0.911 0.000 eventgen.py:44(event_new) 
    79335 0.096 0.000 0.520 0.000 eventgen.py:52(event_end) 
    11689 0.078 0.000 0.261 0.000 eventgen.py:61(event_new_handoff) 
    9824 0.014 0.000 0.098 0.000 eventgen.py:90(event_end_handoff) 
    77441 0.295 0.000 0.380 0.000 eventgen.py:94(reassign) 
    177909 0.177 0.000 0.555 0.000 fromnumeric.py:1364(ravel) 
    200001 0.093 0.000 0.464 0.000 fromnumeric.py:1471(nonzero) 
    289159 0.542 0.000 2.148 0.000 fromnumeric.py:1710(sum) 
    533727 0.637 0.000 2.956 0.000 fromnumeric.py:1866(any) 
    200001 0.120 0.000 0.372 0.000 fromnumeric.py:55(_wrapfunc) 
     4 0.000 0.000 0.000 0.000 genericpath.py:117(_splitext) 
     49 0.000 0.000 0.001 0.000 grid.py:172(neighbors1) 
     49 0.001 0.000 0.001 0.000 grid.py:195(neighbors2) 
533727/177909 0.311 0.000 40.472 0.000 numeric.py:1927(array_str) 
    1067454 1.724 0.000 4.091 0.000 numeric.py:2692(seterr) 
    1067454 1.466 0.000 1.603 0.000 numeric.py:2792(geterr) 
    533727 0.299 0.000 0.422 0.000 numeric.py:3085(__init__) 
    533727 0.411 0.000 2.588 0.000 numeric.py:3089(__enter__) 
    533727 0.461 0.000 2.374 0.000 numeric.py:3094(__exit__) 
    177909 0.064 0.000 0.151 0.000 numeric.py:463(asarray) 
    711636 0.223 0.000 0.503 0.000 numeric.py:534(asanyarray) 
     4 0.000 0.000 0.000 0.000 posixpath.py:119(splitext) 
     4 0.000 0.000 0.000 0.000 posixpath.py:142(basename) 
     4 0.000 0.000 0.000 0.000 posixpath.py:39(_get_sep) 
     6 0.000 0.000 0.000 0.000 posixpath.py:50(normcase) 
     4 0.000 0.000 0.000 0.000 process.py:137(name) 
     4 0.000 0.000 0.000 0.000 process.py:35(current_process) 
     1 0.000 0.000 0.000 0.000 signal.py:25(_int_to_enum) 
     2 0.000 0.000 0.000 0.000 signal.py:35(_enum_to_int) 
     1 0.000 0.000 0.000 0.000 signal.py:45(signal) 
    99627 0.062 0.000 0.062 0.000 stats.py:38(new) 
    20292 0.028 0.000 0.039 0.000 stats.py:42(new_rej) 
    88750 0.047 0.000 0.047 0.000 stats.py:48(end) 
    11623 0.005 0.000 0.005 0.000 stats.py:51(hoff_new) 
    1799 0.001 0.000 0.002 0.000 stats.py:54(hoff_rej) 
    22091 0.012 0.000 0.012 0.000 stats.py:58(rej) 
    200000 0.234 0.000 1.513 0.000 stats.py:64(iter) 
     1 0.000 0.000 0.000 0.000 stats.py:69(n_iter) 
     1 0.000 0.000 0.000 0.000 stats.py:86(endsim) 
     1 0.000 0.000 0.001 0.001 strats.py:189(get_init_action) 
    200000 1.070 0.000 49.964 0.000 strats.py:193(get_action) 
    177909 1.348 0.000 1.937 0.000 strats.py:220(execute_action) 
    200001 4.572 0.000 47.626 0.000 strats.py:243(optimal_ch) 
    89158 0.071 0.000 0.958 0.000 strats.py:299(reward) 
    89158 0.018 0.000 0.018 0.000 strats.py:308(discount) 
    1242355 0.944 0.000 0.944 0.000 strats.py:333(get_qval) 
    89158 0.160 0.000 0.160 0.000 strats.py:336(update_qval) 
     1 0.000 0.000 58.746 58.746 strats.py:40(init_sim) 
     1 1.271 1.271 58.745 58.745 strats.py:49(_simulate) 
     4 0.000 0.000 0.000 0.000 threading.py:1076(name) 
     4 0.000 0.000 0.000 0.000 threading.py:1230(current_thread) 
    227976 0.120 0.000 0.162 0.000 types.py:135(__get__) 
    177909 0.079 0.000 0.079 0.000 {built-in method _functools.reduce} 
    200001 0.192 0.000 0.222 0.000 {built-in method _heapq.heappop} 
    200524 0.084 0.000 0.088 0.000 {built-in method _heapq.heappush} 
    310143 0.064 0.000 0.064 0.000 {built-in method _operator.gt} 
    843054 0.152 0.000 0.152 0.000 {built-in method _operator.lt} 
     1 0.000 0.000 0.000 0.000 {built-in method _signal.signal} 
     8 0.000 0.000 0.000 0.000 {built-in method _thread.get_ident} 
     2 0.000 0.000 0.000 0.000 {built-in method _warnings.warn} 
     1 0.000 0.000 58.746 58.746 {built-in method builtins.exec} 
    200001 0.056 0.000 0.056 0.000 {built-in method builtins.getattr} 
    1067468 0.228 0.000 0.228 0.000 {built-in method builtins.hasattr} 
    755408 0.118 0.000 0.118 0.000 {built-in method builtins.hash} 
    467082 0.164 0.000 0.164 0.000 {built-in method builtins.isinstance} 
    533727 0.107 0.000 0.107 0.000 {built-in method builtins.issubclass} 
10361766 1.076 0.000 1.076 0.000 {built-in method builtins.len} 
    533441 0.304 0.000 0.304 0.000 {built-in method builtins.max} 
    533923 0.198 0.000 0.198 0.000 {built-in method builtins.min} 
    889545 0.368 0.000 0.368 0.000 {built-in method numpy.core.multiarray.array} 
    111251 0.101 0.000 0.101 0.000 {built-in method numpy.core.multiarray.where} 
    2134908 0.377 0.000 0.377 0.000 {built-in method numpy.core.umath.geterrobj} 
    1067454 0.524 0.000 0.524 0.000 {built-in method numpy.core.umath.seterrobj} 
     14 0.000 0.000 0.000 0.000 {built-in method posix.fspath} 
     4 0.000 0.000 0.000 0.000 {built-in method posix.getpid} 
     4 0.000 0.000 0.000 0.000 {built-in method sys._getframe} 
     5 0.000 0.000 0.000 0.000 {built-in method time.time} 
     8 0.000 0.000 0.000 0.000 {method 'acquire' of '_thread.RLock' objects} 
    533727 0.299 0.000 1.912 0.000 {method 'any' of 'numpy.ndarray' objects} 
     875 0.000 0.000 0.000 0.000 {method 'append' of 'list' objects} 
    16544 0.119 0.000 0.119 0.000 {method 'choice' of 'mtrand.RandomState' objects} 
    533727 0.872 0.000 0.872 0.000 {method 'compress' of 'numpy.ndarray' objects} 
     1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} 
    188835 0.641 0.000 0.641 0.000 {method 'exponential' of 'mtrand.RandomState' objects} 
     4 0.000 0.000 0.000 0.000 {method 'find' of 'str' objects} 
     4 0.000 0.000 0.000 0.000 {method 'flush' of '_io.TextIOWrapper' objects} 
     8 0.000 0.000 0.000 0.000 {method 'get' of 'dict' objects} 
    355818 0.069 0.000 0.069 0.000 {method 'item' of 'numpy.ndarray' objects} 
    200001 0.196 0.000 0.196 0.000 {method 'nonzero' of 'numpy.ndarray' objects} 
    533727 0.123 0.000 0.123 0.000 {method 'pop' of 'dict' objects} 
    11689 0.053 0.000 0.053 0.000 {method 'randint' of 'mtrand.RandomState' objects} 
    168494 0.128 0.000 0.128 0.000 {method 'random_sample' of 'mtrand.RandomState' objects} 
    177909 0.232 0.000 0.232 0.000 {method 'ravel' of 'numpy.ndarray' objects} 
    1889376 5.023 0.000 5.023 0.000 {method 'reduce' of 'numpy.ufunc' objects} 
     8 0.000 0.000 0.000 0.000 {method 'release' of '_thread.RLock' objects} 
     12 0.000 0.000 0.000 0.000 {method 'rfind' of 'str' objects} 
    533727 0.155 0.000 0.155 0.000 {method 'rpartition' of 'str' objects} 
    4865786 1.100 0.000 1.100 0.000 {method 'rstrip' of 'str' objects} 
     8 0.000 0.000 0.000 0.000 {method 'write' of '_io.TextIOWrapper' objects} 

そして、ここではラップトップのためです:

 27738517 function calls (26673571 primitive calls) in 28.612 seconds 

    Ordered by: standard name 

    ncalls tottime percall cumtime percall filename:lineno(function) 
     1 0.000 0.000 28.612 28.612 <string>:1(<module>) 
     4 0.000 0.000 0.000 0.000 __init__.py:120(getLevelName) 
    566894 0.244 0.000 0.720 0.000 __init__.py:1284(debug) 
     2 0.000 0.000 0.000 0.000 __init__.py:1296(info) 
     2 0.000 0.000 0.000 0.000 __init__.py:1308(warning) 
     2 0.000 0.000 0.000 0.000 __init__.py:1320(warn) 
     4 0.000 0.000 0.000 0.000 __init__.py:1374(findCaller) 
     4 0.000 0.000 0.000 0.000 __init__.py:1404(makeRecord) 
     4 0.000 0.000 0.000 0.000 __init__.py:1419(_log) 
     4 0.000 0.000 0.000 0.000 __init__.py:1444(handle) 
     4 0.000 0.000 0.000 0.000 __init__.py:1498(callHandlers) 
    566898 0.166 0.000 0.166 0.000 __init__.py:1528(getEffectiveLevel) 
    566898 0.309 0.000 0.476 0.000 __init__.py:1542(isEnabledFor) 
     4 0.000 0.000 0.000 0.000 __init__.py:157(<lambda>) 
     4 0.000 0.000 0.000 0.000 __init__.py:251(__init__) 
     4 0.000 0.000 0.000 0.000 __init__.py:329(getMessage) 
     4 0.000 0.000 0.000 0.000 __init__.py:387(usesTime) 
     4 0.000 0.000 0.000 0.000 __init__.py:390(format) 
     4 0.000 0.000 0.000 0.000 __init__.py:540(usesTime) 
     4 0.000 0.000 0.000 0.000 __init__.py:546(formatMessage) 
     4 0.000 0.000 0.000 0.000 __init__.py:562(format) 
     8 0.000 0.000 0.000 0.000 __init__.py:703(filter) 
     8 0.000 0.000 0.000 0.000 __init__.py:807(acquire) 
     8 0.000 0.000 0.000 0.000 __init__.py:814(release) 
     4 0.000 0.000 0.000 0.000 __init__.py:827(format) 
     4 0.000 0.000 0.000 0.000 __init__.py:850(handle) 
     4 0.000 0.000 0.000 0.000 __init__.py:969(flush) 
     4 0.000 0.000 0.000 0.000 __init__.py:980(emit) 
    288946 0.112 0.000 1.643 0.000 _methods.py:31(_sum) 
    177491 0.330 0.000 0.330 0.000 arrayprint.py:256(_get_formatdict) 
    177491 0.169 0.000 3.542 0.000 arrayprint.py:259(<lambda>) 
    177491 0.465 0.000 4.419 0.000 arrayprint.py:299(_get_format_function) 
    177491 0.623 0.000 9.729 0.000 arrayprint.py:343(_array2string) 
532473/177491 0.987 0.000 10.679 0.000 arrayprint.py:381(wrapper) 
532473/177491 0.721 0.000 10.150 0.000 arrayprint.py:399(array2string) 
    1225350 0.971 0.000 1.470 0.000 arrayprint.py:527(_extendLine) 
    177491 1.458 0.000 3.920 0.000 arrayprint.py:535(_formatArray) 
    177491 0.768 0.000 3.373 0.000 arrayprint.py:712(__init__) 
    1225350 0.960 0.000 0.960 0.000 arrayprint.py:725(__call__) 
     1 0.000 0.000 0.000 0.000 enum.py:265(__call__) 
     1 0.000 0.000 0.000 0.000 enum.py:515(__new__) 
     1 0.000 0.000 0.000 0.000 enum.py:544(_missing_) 
    177491 0.209 0.000 0.209 0.000 enum.py:552(__str__) 
    177491 0.316 0.000 0.525 0.000 enum.py:564(__format__) 
    755255 0.238 0.000 0.352 0.000 enum.py:579(__hash__) 
    200000 0.039 0.000 0.039 0.000 enum.py:592(name) 
    28626 0.005 0.000 0.005 0.000 enum.py:597(value) 
    200505 0.443 0.000 0.643 0.000 eventgen.py:115(_push) 
    200001 0.474 0.000 0.863 0.000 eventgen.py:122(pop) 
    200000 0.834 0.000 0.983 0.000 eventgen.py:137(ce_str) 
    14313 0.017 0.000 0.035 0.000 eventgen.py:15(__lt__) 
    99673 0.186 0.000 0.939 0.000 eventgen.py:44(event_new) 
    78949 0.094 0.000 0.500 0.000 eventgen.py:52(event_end) 
    11887 0.078 0.000 0.261 0.000 eventgen.py:61(event_new_handoff) 
    9996 0.017 0.000 0.103 0.000 eventgen.py:90(event_end_handoff) 
    77374 0.284 0.000 0.364 0.000 eventgen.py:94(reassign) 
    177491 0.195 0.000 0.595 0.000 fromnumeric.py:1380(ravel) 
    200001 0.098 0.000 0.490 0.000 fromnumeric.py:1487(nonzero) 
    288946 0.590 0.000 2.352 0.000 fromnumeric.py:1730(sum) 
    200001 0.130 0.000 0.392 0.000 fromnumeric.py:55(_wrapfunc) 
     4 0.000 0.000 0.000 0.000 genericpath.py:117(_splitext) 
     49 0.000 0.000 0.001 0.000 grid.py:172(neighbors1) 
     49 0.001 0.000 0.001 0.000 grid.py:195(neighbors2) 
532473/177491 0.365 0.000 10.826 0.000 numeric.py:1905(array_str) 
    177491 0.062 0.000 0.151 0.000 numeric.py:463(asarray) 
    177491 0.051 0.000 0.104 0.000 numeric.py:534(asanyarray) 
     4 0.000 0.000 0.000 0.000 posixpath.py:119(splitext) 
     4 0.000 0.000 0.000 0.000 posixpath.py:142(basename) 
     4 0.000 0.000 0.000 0.000 posixpath.py:39(_get_sep) 
     6 0.000 0.000 0.000 0.000 posixpath.py:50(normcase) 
     4 0.000 0.000 0.000 0.000 process.py:137(name) 
     4 0.000 0.000 0.000 0.000 process.py:35(current_process) 
     1 0.000 0.000 0.000 0.000 signal.py:25(_int_to_enum) 
     2 0.000 0.000 0.000 0.000 signal.py:35(_enum_to_int) 
     1 0.000 0.000 0.000 0.000 signal.py:45(signal) 
    99624 0.066 0.000 0.066 0.000 stats.py:38(new) 
    20675 0.028 0.000 0.040 0.000 stats.py:42(new_rej) 
    88545 0.045 0.000 0.045 0.000 stats.py:48(end) 
    11831 0.006 0.000 0.006 0.000 stats.py:51(hoff_new) 
    1835 0.001 0.000 0.002 0.000 stats.py:54(hoff_rej) 
    22510 0.013 0.000 0.013 0.000 stats.py:58(rej) 
    200000 0.261 0.000 1.490 0.000 stats.py:64(iter) 
     1 0.000 0.000 0.000 0.000 stats.py:69(n_iter) 
     1 0.000 0.000 0.000 0.000 stats.py:86(endsim) 
     1 0.000 0.000 0.000 0.000 strats.py:189(get_init_action) 
    200000 1.234 0.000 19.760 0.000 strats.py:193(get_action) 
    177490 1.294 0.000 1.860 0.000 strats.py:220(execute_action) 
    200001 3.897 0.000 17.128 0.000 strats.py:243(optimal_ch) 
    88945 0.074 0.000 1.112 0.000 strats.py:299(reward) 
    88945 0.017 0.000 0.017 0.000 strats.py:308(discount) 
    1241938 0.681 0.000 0.681 0.000 strats.py:333(get_qval) 
    88945 0.167 0.000 0.167 0.000 strats.py:336(update_qval) 
     1 0.000 0.000 28.612 28.612 strats.py:40(init_sim) 
     1 1.383 1.383 28.611 28.611 strats.py:49(_simulate) 
     4 0.000 0.000 0.000 0.000 threading.py:1076(name) 
     4 0.000 0.000 0.000 0.000 threading.py:1230(current_thread) 
    228626 0.122 0.000 0.166 0.000 types.py:135(__get__) 
    177491 0.075 0.000 0.075 0.000 {built-in method _functools.reduce} 
    200001 0.203 0.000 0.234 0.000 {built-in method _heapq.heappop} 
    200505 0.079 0.000 0.083 0.000 {built-in method _heapq.heappush} 
    320262 0.068 0.000 0.068 0.000 {built-in method _operator.gt} 
    832731 0.136 0.000 0.136 0.000 {built-in method _operator.lt} 
     1 0.000 0.000 0.000 0.000 {built-in method _signal.signal} 
    532481 0.090 0.000 0.090 0.000 {built-in method _thread.get_ident} 
     2 0.000 0.000 0.000 0.000 {built-in method _warnings.warn} 
     1 0.000 0.000 28.612 28.612 {built-in method builtins.exec} 
    200001 0.066 0.000 0.066 0.000 {built-in method builtins.getattr} 
     14 0.000 0.000 0.000 0.000 {built-in method builtins.hasattr} 
    755255 0.113 0.000 0.113 0.000 {built-in method builtins.hash} 
    532473 0.092 0.000 0.092 0.000 {built-in method builtins.id} 
    466451 0.166 0.000 0.166 0.000 {built-in method builtins.isinstance} 
    532473 0.083 0.000 0.083 0.000 {built-in method builtins.issubclass} 
    3750044 0.325 0.000 0.325 0.000 {built-in method builtins.len} 
    177687 0.091 0.000 0.091 0.000 {built-in method builtins.max} 
     196 0.000 0.000 0.000 0.000 {built-in method builtins.min} 
    354982 0.142 0.000 0.142 0.000 {built-in method numpy.core.multiarray.array} 
    111456 0.095 0.000 0.095 0.000 {built-in method numpy.core.multiarray.where} 
     14 0.000 0.000 0.000 0.000 {built-in method posix.fspath} 
     4 0.000 0.000 0.000 0.000 {built-in method posix.getpid} 
     4 0.000 0.000 0.000 0.000 {built-in method sys._getframe} 
     5 0.000 0.000 0.000 0.000 {built-in method time.time} 
     8 0.000 0.000 0.000 0.000 {method 'acquire' of '_thread.RLock' objects} 
    532473 0.089 0.000 0.089 0.000 {method 'add' of 'set' objects} 
     875 0.000 0.000 0.000 0.000 {method 'append' of 'list' objects} 
    16345 0.110 0.000 0.110 0.000 {method 'choice' of 'mtrand.RandomState' objects} 
     1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} 
    532473 0.097 0.000 0.097 0.000 {method 'discard' of 'set' objects} 
    188618 0.633 0.000 0.633 0.000 {method 'exponential' of 'mtrand.RandomState' objects} 
     4 0.000 0.000 0.000 0.000 {method 'find' of 'str' objects} 
     4 0.000 0.000 0.000 0.000 {method 'flush' of '_io.TextIOWrapper' objects} 
     8 0.000 0.000 0.000 0.000 {method 'get' of 'dict' objects} 
    354982 0.066 0.000 0.066 0.000 {method 'item' of 'numpy.ndarray' objects} 
    200001 0.196 0.000 0.196 0.000 {method 'nonzero' of 'numpy.ndarray' objects} 
    11887 0.052 0.000 0.052 0.000 {method 'randint' of 'mtrand.RandomState' objects} 
    167895 0.157 0.000 0.157 0.000 {method 'random_sample' of 'mtrand.RandomState' objects} 
    177491 0.251 0.000 0.251 0.000 {method 'ravel' of 'numpy.ndarray' objects} 
    643928 2.511 0.000 2.511 0.000 {method 'reduce' of 'numpy.ufunc' objects} 
     8 0.000 0.000 0.000 0.000 {method 'release' of '_thread.RLock' objects} 
     12 0.000 0.000 0.000 0.000 {method 'rfind' of 'str' objects} 
    2451118 0.328 0.000 0.328 0.000 {method 'rstrip' of 'str' objects} 
     8 0.000 0.000 0.000 0.000 {method 'write' of '_io.TextIOWrapper' objects} 
+3

私の推測では、あなたがあなたのラップトップで実行している間は、暗黙のうちにいくつかのIntelの調整ライブラリを使用していると思います。万が一あなたはアナコンダを使用していますか? –

+0

いいえ、デフォルトのpython3の 'numpy'が' pip'でインストールされていて、両方のマシンにインストールされています。 – tsorn

+0

私は間違っていた。 'numpy'はノートパソコンの' pip'とデスクトップのFedoraリポジトリを通してインストールされました。パッケージを削除し、 'pip'を通してインストールすると、プロファイリングの結果から' arrayprint'が取り除かれました。ランタイムはほぼ同じです(まだ少し変です)。 – tsorn

答えて

1

numpyは、ラップトップ上のPIPを介してインストールし、デスクトップ上のFedoraリポジトリを通じてましました。パッケージを削除してpipを通してインストールすると、プロファイリングの結果からarrayprint (fillFormat)が削除され、ランタイムが非常に同じになりました(まだ少し変です)。他のarrayprint関数がまだ呼び出されていて、累積時間が10秒であることも奇妙です。

関連する問題