Here is a profile of essentially running DFlowData.clean_data() + all the methods in WalkingData (including inverse dynamics compuations).
7641430 function calls (7640347 primitive calls) in 181.271 seconds
Ordered by: internal time
ncalls tottime percall cumtime percall filename:lineno(function)
320218 165.994 0.001 165.994 0.001 {method 'readline' of 'file' objects}
3 2.709 0.903 2.709 0.903 {method 'read' of 'pandas.parser.TextReader' objects}
36844 1.017 0.000 1.017 0.000 {pandas.lib.maybe_convert_objects}
19 0.879 0.046 168.193 8.852 session.py:494(evaluate)
36839 0.816 0.000 4.204 0.000 series.py:3129(interpolate)
37612 0.574 0.000 0.643 0.000 common.py:134(_isnull_ndarraylike)
120 0.530 0.004 0.532 0.004 fitpack2.py:441(__init__)
41185 0.385 0.000 0.385 0.000 {method 'reduce' of 'numpy.ufunc' objects}
320229 0.331 0.000 0.331 0.000 {_codecs.utf_8_decode}
320226 0.284 0.000 0.777 0.000 {method 'decode' of 'str' objects}
268534 0.267 0.000 0.485 0.000 {method 'view' of 'numpy.ndarray' objects}
37998 0.258 0.000 0.851 0.000 series.py:430(__new__)
37612 0.238 0.000 0.988 0.000 common.py:64(_isnull_new)
951420/951418 0.226 0.000 0.226 0.000 {isinstance}
38160 0.208 0.000 0.209 0.000 {method 'copy' of 'numpy.ndarray' objects}
111799 0.208 0.000 0.426 0.000 index.py:332(__getitem__)
36642 0.203 0.000 1.341 0.000 frame.py:1928(_ixs)
320110 0.185 0.000 0.297 0.000 __init__.py:1343(isEnabledFor)
98213 0.169 0.000 0.169 0.000 {numpy.core.multiarray.array}
320223 0.162 0.000 0.493 0.000 utf_8.py:15(decode)
320110 0.154 0.000 0.451 0.000 __init__.py:1128(debug)
151206 0.133 0.000 0.193 0.000 numeric.py:1810(isscalar)
38175 0.132 0.000 0.298 0.000 series.py:3299(_sanitize_array)
801 0.130 0.000 0.130 0.000 {pandas.algos.take_2d_axis0_float64_float64}
164141/164139 0.127 0.000 0.129 0.000 {getattr}
1 0.119 0.119 0.277 0.277 __init__.py:20(<module>)
1246 0.117 0.000 0.117 0.000 {numpy.core.multiarray.concatenate}
36839 0.112 0.000 4.317 0.000 frame.py:4389(<lambda>)
320110 0.112 0.000 0.112 0.000 __init__.py:1329(getEffectiveLevel)
197 0.110 0.001 6.391 0.032 frame.py:4433(_apply_standard)
36642 0.098 0.000 0.647 0.000 internals.py:1681(iget)
76780 0.095 0.000 0.108 0.000 index.py:318(__contains__)
75404 0.092 0.000 0.213 0.000 series.py:532(__array_finalize__)
I think using readline to pull the events from the record files is a major slow down. Also all the calls to session.py are oct2py calls, which are slow. I believe the slow parts are the inverse dynamics real time filter and the soder.m file.
Here is a profile of essentially running DFlowData.clean_data() + all the methods in WalkingData (including inverse dynamics compuations).
I think using readline to pull the events from the record files is a major slow down. Also all the calls to session.py are oct2py calls, which are slow. I believe the slow parts are the inverse dynamics real time filter and the soder.m file.