Finally, Iāve managed to try this out, first 200 line:
ncalls tottime percall cumtime percall filename:lineno(function)
948028 10.792 0.000 57.044 0.000 parameterized.py:1277(_setup_params)
603265 10.706 0.000 10.706 0.000 {method 'reduce' of 'numpy.ufunc' objects}
3431699 10.326 0.000 19.883 0.000 parameterized.py:859(__set__)
16858798 8.962 0.000 11.676 0.000 parameterized.py:837(__get__)
41508293/41458385 8.725 0.000 10.159 0.000 {built-in method builtins.isinstance}
10091811 8.496 0.000 11.513 0.000 parameterized.py:2544(param)
948028 7.126 0.000 90.773 0.000 parameterized.py:2506(__init__)
33310420 5.577 0.000 5.577 0.000 {method 'get' of 'dict' objects}
18704698/15794852 5.539 0.000 42.819 0.000 {built-in method builtins.getattr}
1560937/1467108 5.120 0.000 9.164 0.000 copy.py:128(deepcopy)
3441379/3431699 4.360 0.000 25.471 0.000 parameterized.py:313(_f)
2413554 3.951 0.000 7.488 0.000 parameterized.py:2278(get_param_descriptor)
1569222 3.906 0.000 17.021 0.000 bases.py:328(prepare_value)
2849141/1901113 3.832 0.000 77.730 0.000 parameterized.py:1060(override_initialization)
492002 3.690 0.000 10.406 0.000 util.py:874(isfinite)
496897 3.633 0.000 64.395 0.000 options.py:466(__init__)
512166 3.612 0.000 9.323 0.000 dimension.py:606(matches)
4364549 3.373 0.000 4.330 0.000 parameterized.py:160(classlist)
948028 3.337 0.000 16.867 0.000 parameterized.py:1271(_generate_name)
1467108 3.103 0.000 12.784 0.000 parameterized.py:1346(_instantiate_param)
1384402/1320516 3.040 0.000 7.782 0.000 tree.py:216(__setattr__)
10091811 3.015 0.000 3.015 0.000 parameterized.py:1142(__init__)
11584572 2.806 0.000 2.847 0.000 {built-in method builtins.issubclass}
1581411 2.798 0.000 3.671 0.000 parameterized.py:1480(objects)
1099948 2.772 0.000 8.139 0.000 parameterized.py:1745(get_value_generator)
13167827/13167294 2.697 0.000 3.362 0.000 {built-in method builtins.hasattr}
2417128/2082328 2.676 0.000 4.510 0.000 model.py:824(_visit_value_and_its_immediate_references)
2806210 2.600 0.000 3.735 0.000 util.py:374(tree_attribute)
2240461 2.374 0.000 5.459 0.000 util.py:737(__call__)
305405 2.298 0.000 13.118 0.000 parameterized.py:1694(get_param_values)
1513795/1491575 2.236 0.000 28.916 0.000 bases.py:182(themed_default)
5295758/5295682 2.228 0.000 24.014 0.000 {built-in method builtins.setattr}
1491402/1469182 2.194 0.000 33.908 0.000 descriptors.py:704(_get_default)
322200/80550 2.106 0.000 37.498 0.000 options.py:772(options)
832218 2.044 0.000 3.055 0.000 container.py:178(validate)
563850 2.035 0.000 3.866 0.000 options.py:745(<genexpr>)
2275396/2253176 1.977 0.000 36.326 0.000 descriptors.py:676(_get)
1608012/1590189 1.945 0.000 12.129 0.000 {built-in method builtins.any}
9115003 1.883 0.000 1.883 0.000 {method 'endswith' of 'str' objects}
341962 1.785 0.000 43.215 0.000 model.py:808(_visit_immediate_value_references)
422440 1.683 0.000 2.870 0.000 functools.py:35(update_wrapper)
396388 1.681 0.000 2.744 0.000 __init__.py:1398(_check_type)
2015339 1.678 0.000 5.860 0.000 {built-in method builtins.sorted}
1512075 1.620 0.000 3.875 0.000 copy.py:66(copy)
1491402/1469182 1.597 0.000 30.865 0.000 descriptors.py:584(instance_default)
3625810 1.399 0.000 1.399 0.000 util.py:690(<genexpr>)
145204 1.348 0.000 11.893 0.000 util.py:965(max_range)
2403531/2359227 1.335 0.000 37.331 0.000 descriptors.py:464(__get__)
7481724 1.302 0.000 1.302 0.000 {method 'items' of 'dict' objects}
771978 1.270 0.000 1.514 0.000 copy.py:242(_keep_alive)
1513795/1491575 1.250 0.000 8.360 0.000 bases.py:161(_copy_default)
161100 1.200 0.000 7.717 0.000 options.py:733(find)
1894502 1.197 0.000 1.393 0.000 parameterized.py:1020(_validate)
409525 1.149 0.000 3.091 0.000 options.py:548(__getitem__)
247504/236040 1.145 0.000 1.233 0.000 {built-in method numpy.array}
953085 1.140 0.000 9.215 0.000 parameterized.py:1265(_set_name)
75033 1.096 0.000 46.657 0.001 options.py:82(lookup_options)
344844/48153 1.092 0.000 32.915 0.001 dimension.py:637(traverse)
1149436 1.087 0.000 1.087 0.000 wrappers.py:138(__init__)
1643709 1.069 0.000 1.069 0.000 has_props.py:228(accumulate_dict_from_superclasses)
5663596 1.066 0.000 1.448 0.000 parameterized.py:1229(__iter__)
5118740/4744552 1.032 0.000 1.329 0.000 {built-in method builtins.len}
80880 1.029 0.000 1.996 0.000 dataset.py:1300(_construct_dataarray)
140490 1.021 0.000 6.909 0.000 nanfunctions.py:228(nanmin)
3058732 1.021 0.000 1.497 0.000 has_props.py:664(themed_values)
4750747 0.962 0.000 0.962 0.000 parameterized.py:2148(_get_param)
4364549 0.956 0.000 0.956 0.000 inspect.py:488(getmro)
751468 0.935 0.000 2.514 0.000 container.py:189(wrap)
422440 0.930 0.000 4.091 0.000 parameterized.py:273(__get__)
1666596 0.926 0.000 3.480 0.000 dimension.py:632(<genexpr>)
109200 0.920 0.000 31.792 0.000 options.py:639(_merge_options)
1478897/1465907 0.909 0.000 9.200 0.000 bases.py:172(_raw_default)
417291 0.907 0.000 1.762 0.000 container.py:74(validate)
1844 0.901 0.000 44.685 0.024 model.py:55(collect_filtered_models)
327210 0.898 0.000 27.711 0.000 options.py:261(__init__)
1782669/1781100 0.897 0.000 2.563 0.000 {built-in method builtins.all}
461446 0.887 0.000 4.312 0.000 streams.py:795(contents)
267036 0.877 0.000 1.948 0.000 version.py:309(parse)
492002 0.874 0.000 0.977 0.000 util.py:1513(is_dask_array)
318591/20537 0.870 0.000 1.443 0.000 spaces.py:759(get_nested_dmaps)
1872 0.862 0.000 54.575 0.029 plot.py:717(_compute_group_range)
505318 0.861 0.000 1.021 0.000 __init__.py:964(_validate)
625597 0.860 0.000 3.561 0.000 dimension.py:359(__eq__)
44265 0.859 0.000 17.105 0.000 util.py:1708(stream_parameters)
190785 0.833 0.000 2.593 0.000 warnings.py:130(filterwarnings)
45689/34643 0.826 0.000 67.946 0.002 __init__.py:196(pipelined_fn)
140490 0.818 0.000 6.911 0.000 nanfunctions.py:343(nanmax)
362581 0.799 0.000 3.496 0.000 util.py:681(allowable)
292148 0.792 0.000 14.013 0.000 streams.py:400(contents)
396847 0.791 0.000 3.681 0.000 __init__.py:1372(_validate)
587136/586286 0.791 0.000 3.960 0.000 has_props.py:273(__setattr__)
267038 0.790 0.000 0.790 0.000 {method 'split' of 're.Pattern' objects}
612493 0.769 0.000 1.046 0.000 __init__.py:1316(_validate)
1513795 0.748 0.000 1.731 0.000 has_props.py:593(_overridden_defaults)
3948188 0.748 0.000 0.748 0.000 {built-in method builtins.id}
1031884 0.746 0.000 1.977 0.000 dimension.py:302(spec)
177468 0.744 0.000 0.744 0.000 {built-in method _warnings.warn}
63920 0.725 0.000 17.705 0.000 dimension.py:491(__init__)
2543132 0.711 0.000 0.711 0.000 {method 'get' of 'mappingproxy' objects}
80220 0.709 0.000 12.993 0.000 tree.py:231(__getattr__)
5612420 0.679 0.000 0.679 0.000 {method 'isupper' of 'str' objects}
461446 0.676 0.000 0.934 0.000 streams.py:800(<dictcomp>)
751492 0.666 0.000 1.376 0.000 wrappers.py:289(__init__)
80550 0.654 0.000 41.306 0.001 options.py:755(closest)
581840/573650 0.654 0.000 1.063 0.000 copy.py:200(_deepcopy_list)
2043741 0.648 0.000 0.972 0.000 options.py:546(<genexpr>)
109755 0.623 0.000 11.532 0.000 options.py:516(__call__)
160847/87021 0.601 0.000 35.473 0.000 tree.py:106(set_path)
137793 0.589 0.000 1.542 0.000 dimension.py:901(dimensions)
402506 0.582 0.000 0.888 0.000 options.py:561(<dictcomp>)
62976/28308 0.565 0.000 29.536 0.001 dimension.py:1350(__init__)
292148 0.563 0.000 0.743 0.000 streams.py:403(<dictcomp>)
145204 0.554 0.000 0.772 0.000 util.py:981(<listcomp>)
2838602 0.550 0.000 0.550 0.000 {method 'append' of 'list' objects}
466812 0.548 0.000 0.892 0.000 model.py:82(queue_one)
3431699 0.533 0.000 0.533 0.000 parameterized.py:945(_post_setter)
63920 0.527 0.000 19.419 0.000 dimension.py:849(__init__)
76528 0.525 0.000 0.535 0.000 util.py:1124(int_to_roman)
104381/56518 0.508 0.000 34.599 0.001 tree.py:44(__init__)
428397/365660 0.501 0.000 1.864 0.000 bases.py:304(is_valid)
518221 0.496 0.000 0.957 0.000 numeric.py:1816(isscalar)
27300 0.496 0.000 33.330 0.001 options.py:697(__setattr__)
402506 0.496 0.000 0.808 0.000 options.py:556(<dictcomp>)
2951310 0.495 0.000 0.495 0.000 {method 'upper' of 'str' objects}
419945 0.494 0.000 0.961 0.000 bases.py:502(validate)
399439 0.491 0.000 1.328 0.000 container.py:121(wrap)
461446 0.488 0.000 2.088 0.000 streams.py:799(<dictcomp>)
281276 0.477 0.000 1.364 0.000 {method 'any' of 'numpy.generic' objects}
190787 0.457 0.000 0.907 0.000 warnings.py:181(_add_filter)
374652/322281 0.451 0.000 14.993 0.000 {built-in method numpy.core._multiarray_umath.implement_array_function}
170930/159972 0.447 0.000 2.678 0.000 either.py:104(validate)
109200 0.438 0.000 9.688 0.000 options.py:269(__add__)
905538 0.435 0.000 0.476 0.000 util.py:1856(<genexpr>)
61752 0.432 0.000 6.894 0.000 options.py:504(filtered)
982908 0.432 0.000 0.583 0.000 generic.py:30(_check)
264270 0.428 0.000 2.561 0.000 version.py:333(_cmp)
588753 0.427 0.000 0.538 0.000 {built-in method _abc._abc_instancecheck}
408515 0.424 0.000 1.903 0.000 options.py:543(cyclic)
25704 0.423 0.000 31.461 0.001 plot.py:1416(get_extents)
160847 0.418 0.000 4.721 0.000 tree.py:113(<listcomp>)
1997423 0.397 0.000 0.397 0.000 bases.py:534(validation_on)
51047 0.394 0.000 14.339 0.000 util.py:1043(dimension_range)
1240700 0.390 0.000 0.390 0.000 model.py:245(id)
165195 0.389 0.000 0.501 0.000 tree.py:177(__getitem__)
205888 0.377 0.000 1.227 0.000 __init__.py:772(__get__)
90406 0.363 0.000 1.041 0.000 overlay.py:221(group)
193986 0.363 0.000 0.611 0.000 re.py:289(_compile)
408515 0.360 0.000 5.345 0.000 options.py:565(options)
190787 0.355 0.000 0.395 0.000 warnings.py:458(__enter__)
397944 0.350 0.000 0.728 0.000 wrappers.py:197(__init__)
1433003 0.343 0.000 0.343 0.000 parameterized.py:1182(self_or_cls)
21182 0.340 0.000 10.916 0.001 variable.py:1685(reduce)
341962 0.338 0.000 0.541 0.000 query.py:90(match)
192381 0.332 0.000 0.332 0.000 {method 'remove' of 'list' objects}
399229 0.331 0.000 0.331 0.000 has_props.py:205(accumulate_from_superclasses)
496897 0.330 0.000 0.330 0.000 options.py:488(<listcomp>)
86669 0.329 0.000 3.524 0.000 dimension.py:950(get_dimension)
61752 0.320 0.000 0.320 0.000 options.py:510(<dictcomp>)
53901 0.317 0.000 0.548 0.000 parameterized.py:2570(__setstate__)
80550 0.315 0.000 41.699 0.001 options.py:1255(lookup_options)
59854 0.310 0.000 13.043 0.000 parameterized.py:2995(instance)
226468 0.310 0.000 1.201 0.000 util.py:836(asarray)
1945636 0.307 0.000 0.307 0.000 bases.py:281(validate)
1100137 0.302 0.000 0.302 0.000 {method 'startswith' of 'str' objects}
574591/533531 0.300 0.000 2.066 0.000 either.py:107(<genexpr>)
59288 0.300 0.000 1.013 0.000 settings.py:290(__call__)
178159 0.292 0.000 0.793 0.000 options.py:669(__getitem__)
422440 0.291 0.000 0.291 0.000 functools.py:65(wraps)
174064/87032 0.290 0.000 0.396 0.000 tree.py:70(path)
267036 0.281 0.000 0.281 0.000 version.py:314(<listcomp>)
718734 0.275 0.000 0.471 0.000 util.py:982(<genexpr>)
14560/455 0.271 0.000 124.768 0.274 spaces.py:1087(_execute_callback)
545465 0.270 0.000 0.274 0.000 common.py:262(__setattr__)
190787 0.267 0.000 0.302 0.000 warnings.py:477(__exit__)
108632 0.266 0.000 0.549 0.000 dataarray.py:370(__init__)
588753 0.265 0.000 0.803 0.000 abc.py:96(__instancecheck__)
59276 0.262 0.000 1.305 0.000 serialization.py:239(make_id)
260590 0.259 0.000 2.778 0.000 version.py:69(__ge__)
67428 0.257 0.000 1.447 0.000 util.py:1850(make_path_unique)
283617 0.257 0.000 0.360 0.000 <frozen importlib._bootstrap>:398(parent)
205888 0.257 0.000 0.478 0.000 __init__.py:600(__get__)
119769/118859 0.256 0.000 1.171 0.000 copy.py:258(_reconstruct)
90436 0.256 0.000 0.494 0.000 overlay.py:250(<setcomp>)
264612 0.250 0.000 0.675 0.000 missing.py:133(_isna)
108540 0.249 0.000 0.249 0.000 util.py:2014(is_nan)
14560/455 0.248 0.000 126.349 0.278 spaces.py:1280(__getitem__)
303104 0.245 0.000 0.245 0.000 util.py:1080(<genexpr>)
59252 0.243 0.000 0.357 0.000 has_props.py:676(apply_theme)
246548 0.239 0.000 0.333 0.000 {method 'join' of 'str' objects}
226544 0.238 0.000 0.348 0.000 tree.py:269(__iter__)
1479380 0.234 0.000 0.234 0.000 bases.py:269(transform)
5532 0.229 0.000 0.229 0.000 {built-in method nt.stat}
174952/101126 0.228 0.000 0.228 0.000 tree.py:143(_propagate)
62976/28308 0.227 0.000 29.644 0.001 overlay.py:139(__init__)
36431 0.226 0.000 0.467 0.000 parameterized.py:1237(__contains__)
1211634 0.225 0.000 0.225 0.000 {method 'keys' of 'dict' objects}
137338 0.225 0.000 0.761 0.000 dimension.py:933(<listcomp>)
316922 0.223 0.000 0.433 0.000 options.py:293(__bool__)
292148 0.223 0.000 0.223 0.000 streams.py:402(<dictcomp>)
119769 0.221 0.000 1.022 0.000 {method '__reduce_ex__' of 'object' objects}
Will experiment with this, but at first glance these ncalls values themselves look a bit suspiciousā¦