Digi-Key Vendor Get Part ProfilingΒΆ

Raw execution profile SVG of execution profile

Execution Profile

../../../_images/digikey.profile2.svg

pstats Output

Tue May 24 00:24:35 2016    /media/ldata/code/tendril/profiling/sourcing/get_part/digikey.profile

         967990666 function calls (965981348 primitive calls) in 1920.136 seconds

   Ordered by: cumulative time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.866    0.866 1921.404 1921.404 vendors.py:63(profile_vendor_get_part)
    11484    0.079    0.000 1920.242    0.167 vendors.py:509(get_all_vparts)
    11483    0.077    0.000 1892.936    0.165 vendors.py:519(get_vpart)
    11483    0.085    0.000 1892.859    0.165 digikey.py:215(__init__)
    11483    0.063    0.000 1892.774    0.165 vendors.py:415(__init__)
    11483    0.094    0.000 1892.711    0.165 vendors.py:236(__init__)
    11483    0.295    0.000 1892.617    0.165 vendors.py:248(_populate)
    11483    0.708    0.000 1244.113    0.108 digikey.py:240(_get_data)
    11483    0.230    0.000  729.113    0.063 www.py:459(get_soup)
    11483    0.573    0.000  684.160    0.060 __init__.py:80(__init__)
    11483    0.072    0.000  682.578    0.059 __init__.py:206(_feed)
    11483    0.108    0.000  682.307    0.059 _lxml.py:221(feed)
    11483  106.062    0.009  681.585    0.059 {method 'feed' of 'lxml.etree._FeedParser' objects}
106395/47749    0.670    0.000  496.223    0.010 db.py:168(inner)
   988765    2.665    0.000  495.352    0.001 element.py:1165(find_all)
   988765   36.937    0.000  492.687    0.000 element.py:478(_find_all)
   860856    2.958    0.000  483.883    0.001 element.py:1154(find)
    11483    0.485    0.000  470.319    0.041 vendors.py:265(commit)
    11483    0.116    0.000  469.377    0.041 vendors.py:420(_commit_to_db)
    11483    0.208    0.000  425.338    0.037 vendors.py:272(_commit_to_db)
 23650348   42.660    0.000  396.731    0.000 element.py:1525(search)
  7089918   76.183    0.000  381.995    0.000 _lxml.py:126(start)
    74348    0.491    0.000  361.372    0.005 query.py:2511(__iter__)
    85831    0.328    0.000  342.478    0.004 base.py:846(execute)
    85831    0.239    0.000  341.964    0.004 elements.py:322(_execute_on_connection)
    85831    1.187    0.000  341.724    0.004 base.py:975(_execute_clauseelement)
    74348    0.828    0.000  337.618    0.005 query.py:2525(_execute_and_instances)
429868/395419    0.855    0.000  307.670    0.001 attributes.py:229(__get__)
174061/139612    0.518    0.000  306.949    0.002 attributes.py:556(get)
    34449    0.282    0.000  305.138    0.009 strategies.py:477(_load_for_state)
    34449    1.615    0.000  304.410    0.009 strategies.py:550(_emit_lazyload)
    36266    1.032    0.000  295.650    0.008 query.py:2393(all)
    85831    2.045    0.000  284.698    0.003 base.py:1061(_execute_context)
 11094473   37.244    0.000  284.311    0.000 element.py:1484(search_tag)
  7089918   34.930    0.000  274.607    0.000 __init__.py:324(handle_starttag)
    85831    0.225    0.000  260.227    0.003 default.py:449(do_execute)
    85831  258.958    0.003  260.002    0.003 {method 'execute' of 'psycopg2.extensions.cursor' objects}
    11483    1.051    0.000  248.015    0.022 controller.py:181(populate_vpart_prices)
    11483    0.117    0.000  235.420    0.021 digikey.py:357(_get_attributes_table)
11174954/11163421   35.683    0.000  187.569    0.000 element.py:1551(_matches)
    26600    0.294    0.000  183.704    0.007 db.py:111(get_session)
 21292696   96.205    0.000  175.240    0.000 __init__.py:260(endData)
  7089906   23.891    0.000  171.433    0.000 _lxml.py:175(end)
197786369   73.872    0.000  157.168    0.000 {isinstance}
    11483    0.148    0.000  149.019    0.013 digikey.py:348(_get_overview_table)
    13300    0.246    0.000  141.110    0.011 contextlib.py:21(__exit__)
    36266    0.696    0.000  139.987    0.004 session.py:389(commit)
    13300    0.226    0.000  139.769    0.011 session.py:756(commit)
    13300    0.102    0.000  135.577    0.010 base.py:1569(commit)
    13300    0.055    0.000  135.460    0.010 base.py:1603(_do_commit)
    13300    0.401    0.000  135.405    0.010 base.py:679(_commit_impl)
    13300    0.156    0.000  134.956    0.010 default.py:422(do_commit)
    13300  134.754    0.010  134.754    0.010 {method 'commit' of 'psycopg2.extensions.connection' objects}
    11483    1.489    0.000  127.352    0.011 digikey.py:266(_get_prices)
  7101401   48.734    0.000  118.086    0.000 element.py:745(__init__)
    11483    0.263    0.000  110.577    0.010 controller.py:113(get_vpno_obj)
    22966    3.256    0.000  109.810    0.005 digikey.py:312(_get_table)
 13175400   31.909    0.000  105.637    0.000 element.py:1448(_normalize_search_value)
    38082    0.946    0.000  100.945    0.003 query.py:2451(one)
    13299    0.422    0.000   85.525    0.006 controller.py:215(get_map)
 22444671   51.611    0.000   83.295    0.000 abc.py:128(__instancecheck__)
 37442393   52.725    0.000   75.058    0.000 {hasattr}
  7089906    8.984    0.000   68.051    0.000 __init__.py:351(handle_endtag)
    11483    0.621    0.000   66.155    0.006 controller.py:128(populate_vpart_detail)
  7089906   34.990    0.000   57.008    0.000 __init__.py:301(_popToTag)
    74348    0.284    0.000   55.064    0.001 elements.py:431(compile)
    74348    0.396    0.000   54.780    0.001 elements.py:496(_compiler)
    74348    1.655    0.000   54.384    0.001 compiler.py:329(__init__)
    74348    0.388    0.000   52.437    0.001 compiler.py:167(__init__)
    74348    0.234    0.000   52.048    0.001 compiler.py:212(process)
1274813/74348    4.297    0.000   51.815    0.001 visitors.py:75(_compiler_dispatch)
    74348    2.509    0.000   51.297    0.001 compiler.py:1503(visit_select)
  4825773   28.611    0.000   46.924    0.000 __init__.py:145(_replace_cdata_list_attribute_values)
    11483    0.948    0.000   44.723    0.004 www.py:424(fetch)
    11483    0.487    0.000   43.847    0.004 controller.py:154(populate_vpart_detail_eln)
  9192083   18.973    0.000   43.696    0.000 __init__.py:290(object_was_parsed)
    13300    0.050    0.000   42.891    0.003 contextlib.py:15(__enter__)
 12163669   16.344    0.000   42.554    0.000 {method 'decode' of 'str' objects}
    15116    0.075    0.000   42.253    0.003 controller.py:45(_get_vendor)
    13300    0.187    0.000   42.117    0.003 controller.py:94(get_vendor)
   148697    0.597    0.000   41.516    0.000 session.py:1970(flush)
    13300    0.385    0.000   40.594    0.003 db.py:83(_get_caller)
    22966    1.265    0.000   40.320    0.002 session.py:2021(_flush)
    13300    0.061    0.000   38.804    0.003 inspect.py:1053(stack)
    13300    0.646    0.000   38.727    0.003 inspect.py:1026(getouterframes)
   210983    2.505    0.000   38.006    0.000 inspect.py:988(getframeinfo)
    11483   33.921    0.003   37.247    0.003 {method 'read' of '_io.TextIOWrapper' objects}
  9192083   11.435    0.000   34.123    0.000 element.py:648(__new__)
   218242    2.107    0.000   33.234    0.000 loading.py:30(instances)
 16293484   32.997    0.000   32.998    0.000 element.py:188(setup)
    22966    0.387    0.000   31.086    0.001 unitofwork.py:351(execute)
    11484    0.032    0.000   27.227    0.002 vendors.py:504(get_all_vpnos)
 12430495    8.526    0.000   27.179    0.000 utf_8.py:15(decode)
      908    0.008    0.000   26.988    0.030 maps.py:73(get_all_partnos)
 44714048   26.718    0.000   26.718    0.000 _weakrefset.py:70(__contains__)
   482354    4.058    0.000   25.177    0.000 compiler.py:1275(_label_select_column)
   210983    3.105    0.000   25.020    0.000 inspect.py:518(findsource)
 23831516   10.081    0.000   24.458    0.000 {next}
  7101401   19.100    0.000   23.527    0.000 __init__.py:251(pushTag)
    74348    1.348    0.000   22.597    0.000 query.py:2953(_compile_context)
 12555875   22.330    0.000   22.330    0.000 element.py:666(__getattr__)
 12441978   21.889    0.000   21.889    0.000 {_codecs.utf_8_decode}
     1816    0.105    0.000   20.687    0.011 controller.py:244(get_map_vpnos)
 33490737   18.465    0.000   20.286    0.000 element.py:1190(descendants)
  9548908    9.398    0.000   19.795    0.000 _lxml.py:194(data)
 10880351   18.617    0.000   18.620    0.000 {built-in method __new__ of type object at 0x919120}
   482354    4.848    0.000   18.314    0.000 compiler.py:581(visit_label)
   988765    4.015    0.000   17.767    0.000 element.py:1421(__init__)
    34449    0.184    0.000   17.273    0.001 unitofwork.py:528(execute)
    34449    0.755    0.000   17.089    0.000 persistence.py:124(save_obj)
   435266    4.991    0.000   16.734    0.000 inspect.py:440(getsourcefile)
   154469    2.274    0.000   13.657    0.000 loading.py:360(_instance)
      908    0.005    0.000   13.591    0.015 vendors.py:84(get_apartnos)
      908    0.007    0.000   13.389    0.015 vendors.py:88(get_upartnos)
   988765    3.710    0.000   13.358    0.000 element.py:1609(__init__)
    74348    1.657    0.000   13.129    0.000 compiler.py:1679(_compose_select_body)
351821/129361    0.882    0.000   12.821    0.000 operators.py:294(__eq__)
    34449    0.488    0.000   12.815    0.000 persistence.py:597(_emit_update_statements)
  7089918   10.399    0.000   12.781    0.000 __init__.py:242(popTag)
 34495335   12.640    0.000   12.640    0.000 {len}
    74348    3.546    0.000   12.402    0.000 query.py:3282(row_processor)
283507/177109    0.511    0.000   12.241    0.000 {operator.eq}
 37808088   12.033    0.000   12.033    0.000 {method 'append' of 'list' objects}
    85831    3.447    0.000   11.352    0.000 default.py:515(_init_compiled)
   253858    1.265    0.000   10.971    0.000 base.py:196(generate)
      908    0.004    0.000   10.714    0.012 controller.py:257(get_amap_vpnos)
  9548908    6.194    0.000   10.396    0.000 __init__.py:356(handle_data)
 23177672   10.311    0.000   10.311    0.000 _lxml.py:64(_getNsTag)
243607/89463    1.307    0.000   10.269    0.000 visitors.py:86(_compiler_dispatch)
    85831    0.721    0.000   10.116    0.000 psycopg2.py:466(get_result_proxy)
      908    0.005    0.000   10.033    0.011 controller.py:263(get_umap_vpnos)
  1986129    9.970    0.000    9.973    0.000 {method 'split' of '_sre.SRE_Pattern' objects}
   142661    0.262    0.000    9.902    0.000 elements.py:738(operate)
    66498    0.123    0.000    9.729    0.000 attributes.py:174(operate)
   882208    4.151    0.000    9.648    0.000 element.py:494(<genexpr>)
    74348    1.279    0.000    9.262    0.000 query.py:3071(_simple_statement)
    85831    0.537    0.000    8.996    0.000 result.py:488(__init__)
   613532    4.832    0.000    8.974    0.000 compiler.py:620(visit_column)
   142661    0.334    0.000    8.793    0.000 <string>:1(<lambda>)
    74348    4.341    0.000    8.740    0.000 loading.py:269(_instance_processor)
    22966    0.643    0.000    8.725    0.000 unitofwork.py:300(_generate_actions)
   100947    0.757    0.000    8.702    0.000 annotation.py:93(__eq__)
    74348    0.544    0.000    8.671    0.000 query.py:3317(setup_context)
 42929330    8.663    0.000    8.663    0.000 element.py:918(__nonzero__)
  2264145    8.588    0.000    8.590    0.000 _abcoll.py:389(keys)
   116062    0.618    0.000    8.551    0.000 compiler.py:904(visit_binary)
 25486956    8.510    0.000    8.544    0.000 {getattr}
    85831    0.673    0.000    8.459    0.000 result.py:513(_init_metadata)
   142661    0.882    0.000    8.458    0.000 type_api.py:57(operate)
   224283    1.111    0.000    8.324    0.000 inspect.py:472(getmodule)
   154469    2.180    0.000    8.153    0.000 loading.py:478(_populate_full)
    74348    1.972    0.000    8.044    0.000 loading.py:224(_setup_entity_query)
  7114689    7.844    0.000    7.844    0.000 {range}
    74348    0.656    0.000    7.682    0.000 <string>:1(select)
   116062    0.811    0.000    7.670    0.000 compiler.py:935(_generate_generic_binary)
    74348    4.743    0.000    7.667    0.000 result.py:189(__init__)
   646249    2.749    0.000    7.371    0.000 inspect.py:398(getfile)
   524063    1.548    0.000    7.057    0.000 langhelpers.py:744(__get__)
    74348    2.392    0.000    7.026    0.000 selectable.py:2220(__init__)
    74348    0.925    0.000    6.881    0.000 compiler.py:1654(_setup_select_stack)
   137796    1.167    0.000    6.826    0.000 unitofwork.py:417(execute)
    74348    0.276    0.000    6.515    0.000 session.py:1245(query)
   641215    1.763    0.000    6.370    0.000 element.py:846(get_text)
   116062    0.869    0.000    6.327    0.000 default_comparator.py:21(_boolean_compare)
    53199    0.170    0.000    6.256    0.000 properties.py:268(operate)
    74348    0.212    0.000    6.238    0.000 query.py:107(__init__)
45932/34449    0.156    0.000    6.152    0.000 errors.py:254(wrapper)
   157783    0.438    0.000    6.147    0.000 inspect.py:460(getabsfile)
    74348    0.743    0.000    6.026    0.000 query.py:112(_set_entities)
   238222    0.289    0.000    5.973    0.000 type_api.py:1009(process)
  8964533    5.886    0.000    5.887    0.000 {method 'items' of 'dict' objects}
   238222    0.575    0.000    5.684    0.000 arrow.py:73(process_result_value)
  7101401    5.532    0.000    5.532    0.000 __init__.py:101(can_be_empty_element)
    74348    0.726    0.000    5.494    0.000 selectable.py:2506(_get_display_froms)
    34449    0.165    0.000    5.448    0.000 session.py:1559(add)
   623199    2.028    0.000    5.399    0.000 interfaces.py:498(setup)
    34449    0.325    0.000    5.283    0.000 session.py:1588(_save_or_update_state)
   357988    0.824    0.000    5.242    0.000 {method 'join' of 'str' objects}
   157783    0.814    0.000    5.133    0.000 posixpath.py:365(abspath)
   156284    0.616    0.000    5.108    0.000 api.py:17(get)
   100947    0.238    0.000    4.865    0.000 <string>:1(filter)
    26599    0.187    0.000    4.738    0.000 compiler.py:735(visit_clauselist)
    34449    1.767    0.000    4.729    0.000 mapper.py:2555(cascade_iterator)
    74348    2.075    0.000    4.504    0.000 selectable.py:2479(_froms)
   156284    1.300    0.000    4.493    0.000 factory.py:32(get)
    79797    0.072    0.000    4.381    0.000 compiler.py:742(<genexpr>)
    79797    0.122    0.000    4.309    0.000 compiler.py:744(<genexpr>)
   583300    2.201    0.000    4.292    0.000 compiler.py:1130(_truncated_identifier)
 11656913    4.155    0.000    4.155    0.000 {method 'get' of 'dict' objects}
    47748    0.769    0.000    4.055    0.000 mapper.py:2451(_get_state_attr_by_column)
  7101401    3.634    0.000    4.050    0.000 __init__.py:255(set_up_substitutions)
    15115    0.087    0.000    3.988    0.000 query.py:1511(join)
   100946    0.608    0.000    3.942    0.000 compiler.py:1048(visit_bindparam)
    15115    0.035    0.000    3.890    0.000 <string>:1(_join)
    74348    0.268    0.000    3.885    0.000 query.py:2518(_connection_from_session)
    74348    0.344    0.000    3.851    0.000 result.py:944(fetchall)
    13300    0.199    0.000    3.821    0.000 query.py:1310(filter_by)
   446749    0.971    0.000    3.731    0.000 genericpath.py:15(exists)
  1467752    1.463    0.000    3.702    0.000 element.py:821(_all_strings)
    15115    0.178    0.000    3.696    0.000 query.py:1800(_join)
    74348    0.375    0.000    3.617    0.000 session.py:811(connection)
  9821815    3.616    0.000    3.616    0.000 {method 'join' of 'unicode' objects}
   103347    0.424    0.000    3.594    0.000 persistence.py:1017(_connections_for_states)
  1798882    2.091    0.000    3.556    0.000 compiler.py:2693(quote)
    34449    0.434    0.000    3.534    0.000 strategies.py:448(_generate_lazy_clause)
    49566    0.542    0.000    3.456    0.000 session.py:456(close)
   116062    0.509    0.000    3.419    0.000 default_comparator.py:269(_check_literal)
    11483    0.089    0.000    3.325    0.000 codecs.py:293(decode)
   100947    0.916    0.000    3.281    0.000 query.py:1274(filter)
    15115    0.245    0.000    3.255    0.000 query.py:1915(_join_left_to_right)
212144/143246    0.698    0.000    3.128    0.000 session.py:312(_connection_for_bind)
    13299    0.147    0.000    3.090    0.000 relationships.py:961(__eq__)
   764044    2.983    0.000    2.983    0.000 interfaces.py:466(_get_context_loader)
    74348    0.699    0.000    2.948    0.000 selectable.py:3151(_columns_plus_names)
    74348    0.190    0.000    2.916    0.000 session.py:884(_connection_for_bind)
   458232    2.890    0.000    2.890    0.000 {posix.stat}
    34449    0.101    0.000    2.802    0.000 strategy_options.py:781(lazyload)
  7013586    2.768    0.000    2.768    0.000 {method 'lower' of 'str' objects}
   100946    0.371    0.000    2.759    0.000 compiler.py:1117(_truncate_bindparam)
    62866    0.307    0.000    2.745    0.000 session.py:694(begin)
    11483    0.337    0.000    2.728    0.000 __init__.py:336(getinfo)
    34449    0.107    0.000    2.701    0.000 <string>:1(set_relationship_strategy)
    34449    0.126    0.000    2.695    0.000 unitofwork.py:557(execute)
   140910    0.854    0.000    2.667    0.000 locale.py:305(atof)
 13291462    2.647    0.000    2.647    0.000 {callable}
    68898    0.389    0.000    2.644    0.000 persistence.py:256(_organize_states_for_save)
    15115    0.124    0.000    2.623    0.000 query.py:2068(_join_to_left)
    53198    0.393    0.000    2.611    0.000 elements.py:3370(_bind_param)
   157783    1.585    0.000    2.594    0.000 posixpath.py:336(normpath)
    34449    0.148    0.000    2.594    0.000 base.py:40(_generative)
  7382443    2.575    0.000    2.575    0.000 {method 'pop' of 'list' objects}
   143894    1.166    0.000    2.571    0.000 instrumentation.py:311(new_instance)
    34449    0.595    0.000    2.569    0.000 persistence.py:223(delete_obj)
    74348    0.154    0.000    2.548    0.000 result.py:911(_fetchall_impl)
    15115    0.051    0.000    2.424    0.000 util.py:880(join)
    74348    1.426    0.000    2.395    0.000 {method 'fetchall' of 'psycopg2.extensions.cursor' objects}
    15115    0.227    0.000    2.373    0.000 util.py:779(__init__)
   137796    1.069    0.000    2.298    0.000 relationships.py:1504(cascade_iterator)
   482354    0.741    0.000    2.297    0.000 default.py:753(get_result_processor)
   579077    1.326    0.000    2.296    0.000 inspection.py:38(inspect)
    74348    0.716    0.000    2.276    0.000 query.py:122(_set_entity_selectables)
   163811    0.630    0.000    2.272    0.000 _collections.py:794(to_list)
    22966    0.221    0.000    2.265    0.000 unitofwork.py:375(finalize_flush_changes)
    62866    0.502    0.000    2.264    0.000 session.py:169(__init__)
    53198    1.343    0.000    2.217    0.000 elements.py:913(__init__)
    11483    0.116    0.000    2.206    0.000 __init__.py:218(open)
   238159    1.375    0.000    2.178    0.000 base.py:36(_from_objects)
   223044    1.149    0.000    2.162    0.000 _collections.py:747(unique_list)
    68898    0.330    0.000    2.150    0.000 unitofwork.py:228(register_object)
    34449    0.219    0.000    2.114    0.000 strategy_options.py:190(set_relationship_strategy)
93097/66499    0.295    0.000    2.094    0.000 annotation.py:71(_compiler_dispatch)
    85831    0.528    0.000    2.035    0.000 psycopg2.py:435(create_cursor)
  2176330    1.345    0.000    2.023    0.000 string.py:220(lower)
  4911604    2.017    0.000    2.017    0.000 {method 'keys' of 'dict' objects}
    22966    0.586    0.000    1.984    0.000 session.py:1491(_register_newly_persistent)
   490578    1.948    0.000    1.948    0.000 {method 'match' of '_sre.SRE_Pattern' objects}
   140845    0.701    0.000    1.907    0.000 interfaces.py:507(create_row_processor)
    13300    0.184    0.000    1.907    0.000 session.py:2646(__call__)
    68898    0.669    0.000    1.884    0.000 persistence.py:1052(_sort_states)
  7089918    1.879    0.000    1.879    0.000 _lxml.py:166(_prefix_for_namespace)
    15115    0.151    0.000    1.877    0.000 selectable.py:651(__init__)
   181327    0.309    0.000    1.866    0.000 _collections.py:727(__missing__)
53198/26599    0.095    0.000    1.847    0.000 operators.py:43(__and__)
   482354    0.481    0.000    1.845    0.000 result.py:497(_getter)
   116062    1.113    0.000    1.826    0.000 elements.py:2724(__init__)
   100946    0.597    0.000    1.823    0.000 elements.py:3624(apply_map)
    74348    0.623    0.000    1.791    0.000 compiler.py:438(_bind_processors)
    13300    0.108    0.000    1.788    0.000 base.py:2020(contextual_connect)
    11483    0.132    0.000    1.756    0.000 _lxml.py:197(doctype)
    26598    0.110    0.000    1.730    0.000 elements.py:2758(_copy_internals)
   100948    0.420    0.000    1.717    0.000 base.py:285(__get__)
    13300    0.093    0.000    1.709    0.000 base.py:793(close)
    39899    0.147    0.000    1.704    0.000 elements.py:1890(and_)
    13300    0.263    0.000    1.678    0.000 session.py:512(__init__)
    34449    0.360    0.000    1.673    0.000 __init__.py:156(getsyspath)
    70455    0.084    0.000    1.660    0.000 locale.py:318(atoi)
    74348    0.403    0.000    1.638    0.000 query.py:3159(__new__)
    34449    0.645    0.000    1.618    0.000 unitofwork.py:257(_per_mapper_flush_actions)
    13300    0.058    0.000    1.616    0.000 pool.py:879(close)
    74348    0.543    0.000    1.604    0.000 _collections.py:359(__init__)
    13299    0.183    0.000    1.604    0.000 relationships.py:1334(_optimized_compare)
   281820    0.218    0.000    1.568    0.000 locale.py:110(localeconv)
    13300    0.072    0.000    1.558    0.000 pool.py:756(_checkin)
    39899    0.539    0.000    1.558    0.000 elements.py:1856(_construct)
   482354    0.834    0.000    1.556    0.000 type_api.py:382(_cached_result_processor)
  1081515    0.866    0.000    1.551    0.000 inspect.py:51(ismodule)
   156284    0.703    0.000    1.550    0.000 arrow.py:118(fromdatetime)
    34449    0.103    0.000    1.548    0.000 query.py:1090(options)
    85831    0.509    0.000    1.540    0.000 compiler.py:455(construct_params)
   515417    1.528    0.000    1.528    0.000 {method 'encode' of 'unicode' objects}
   172245    0.747    0.000    1.517    0.000 unitofwork.py:178(get_attribute_history)
    15115    0.057    0.000    1.516    0.000 selectable.py:786(_match_primaries)
    26599    0.063    0.000    1.515    0.000 {operator.and_}
    11483    0.928    0.000    1.493    0.000 {_io.open}
    13300    0.124    0.000    1.487    0.000 pool.py:615(_finalize_fairy)
  1618497    1.435    0.000    1.472    0.000 element.py:258(_last_descendant)
    85831    0.239    0.000    1.469    0.000 pool.py:845(cursor)
    34449    0.052    0.000    1.447    0.000 persistence.py:336(_organize_states_for_delete)
    15115    0.145    0.000    1.447    0.000 selectable.py:793(_join_condition)
    34449    0.078    0.000    1.445    0.000 <string>:1(_options)
    45932    0.774    0.000    1.437    0.000 persistence.py:416(_collect_update_commands)
    13299    0.061    0.000    1.421    0.000 visitors.py:280(cloned_traverse)
    91864    0.373    0.000    1.396    0.000 attributes.py:222(__set__)
    34449    0.205    0.000    1.376    0.000 dependency.py:445(presort_saves)
   482354    1.364    0.000    1.364    0.000 result.py:419(_getter)
39897/13299    0.370    0.000    1.354    0.000 visitors.py:287(clone)
   281820    1.351    0.000    1.351    0.000 {_locale.localeconv}
   344490    0.539    0.000    1.327    0.000 unitofwork.py:402(<genexpr>)
   156284    1.321    0.000    1.321    0.000 util.py:25(is_timestamp)
   857232    0.745    0.000    1.316    0.000 inspect.py:59(isclass)
    13300    0.158    0.000    1.314    0.000 db.py:69(_format_frame)
    13299    0.051    0.000    1.305    0.000 util.py:746(_orm_annotate)
   100948    0.218    0.000    1.297    0.000 base.py:108(_for_instance)
   209743    0.372    0.000    1.297    0.000 default.py:592(<genexpr>)
    62866    0.631    0.000    1.290    0.000 session.py:256(_take_snapshot)
   684248    1.261    0.000    1.261    0.000 weakref.py:314(__getitem__)
    13299    0.027    0.000    1.254    0.000 annotation.py:106(_deep_annotate)
    26599    0.059    0.000    1.249    0.000 default_comparator.py:89(_conjunction_operate)
    85831    1.230    0.000    1.230    0.000 {method 'cursor' of 'psycopg2.extensions.connection' objects}
39897/13299    0.175    0.000    1.227    0.000 annotation.py:113(clone)
    34449    0.471    0.000    1.216    0.000 strategy_options.py:110(_generate_path)
    34449    0.377    0.000    1.198    0.000 mapper.py:1774(_is_orphan)
    68898    0.307    0.000    1.195    0.000 session.py:229(connection)
   166213    0.322    0.000    1.191    0.000 attr.py:214(__call__)
    22966    0.908    0.000    1.170    0.000 topological.py:55(find_cycles)
    74348    0.129    0.000    1.168    0.000 compiler.py:441(<genexpr>)
    15115    0.147    0.000    1.167    0.000 compiler.py:1803(visit_join)
  1068215    0.690    0.000    1.161    0.000 inspect.py:181(istraceback)
    11483    0.107    0.000    1.155    0.000 element.py:937(__getattr__)
   114247    0.242    0.000    1.153    0.000 elements.py:2783(self_group)
   482354    0.973    0.000    1.147    0.000 strategies.py:141(setup_query)
   482354    0.427    0.000    1.133    0.000 compiler.py:2722(format_label)
   820228    1.123    0.000    1.123    0.000 {method 'update' of 'dict' objects}
    74348    0.689    0.000    1.114    0.000 query.py:3190(setup_entity)
   435266    1.111    0.000    1.111    0.000 {imp.get_suffixes}
   140846    0.453    0.000    1.102    0.000 operators.py:895(is_precedent)
    74348    0.998    0.000    1.099    0.000 query.py:3715(__init__)
    13300    0.031    0.000    1.093    0.000 base.py:2071(_wrap_pool_connect)
    34449    0.456    0.000    1.093    0.000 query.py:1105(_options)
    11483    0.042    0.000    1.086    0.000 __init__.py:235(exists)
   100948    0.396    0.000    1.079    0.000 base.py:105(_for_class)
    74348    0.314    0.000    1.076    0.000 base.py:325(_is_mapped_class)
   253858    0.687    0.000    1.076    0.000 query.py:416(_clone)
   137796    0.400    0.000    1.070    0.000 dependency.py:230(prop_has_changes)
    13300    0.044    0.000    1.062    0.000 pool.py:367(connect)
   175294    0.405    0.000    1.038    0.000 compiler.py:442(<genexpr>)
   100946    0.683    0.000    1.035    0.000 compiler.py:1149(_process_anon)
   192232    0.739    0.000    1.029    0.000 posixpath.py:68(join)
    13299    0.035    0.000    1.025    0.000 elements.py:1168(effective_value)
    91864    0.456    0.000    1.023    0.000 attributes.py:687(set)
    13300    0.119    0.000    1.018    0.000 pool.py:710(_checkout)
   137796    0.202    0.000    1.009    0.000 topological.py:43(sort)
    13300    0.084    0.000    0.996    0.000 session.py:1031(close)
   210983    0.262    0.000    0.993    0.000 re.py:188(compile)
    39897    0.132    0.000    0.992    0.000 elements.py:291(_annotate)
   108797    0.405    0.000    0.991    0.000 path_registry.py:62(set)
    13299    0.036    0.000    0.991    0.000 relationships.py:1385(_go)
    45932    0.129    0.000    0.989    0.000 unitofwork.py:482(execute)
   213958    0.900    0.000    0.977    0.000 {sorted}
    11483    0.157    0.000    0.975    0.000 attributes.py:1066(set_committed_value)
   179250    0.661    0.000    0.970    0.000 arrow.py:49(__init__)
   125143    0.388    0.000    0.969    0.000 base.py:389(_inspect_mapped_class)
   482354    0.839    0.000    0.942    0.000 selectable.py:3156(name_for_col)
   234528    0.540    0.000    0.936    0.000 __init__.py:1345(isEnabledFor)
   868715    0.618    0.000    0.921    0.000 inspect.py:67(ismethod)
    13300    0.127    0.000    0.914    0.000 pool.py:501(checkin)
    13300    0.092    0.000    0.912    0.000 session.py:1076(_close_impl)
    22966    0.395    0.000    0.905    0.000 dependency.py:68(per_property_flush_actions)
   143894    0.892    0.000    0.892    0.000 state.py:75(__init__)
   172245    0.568    0.000    0.872    0.000 unitofwork.py:399(_mappers)
    22966    0.307    0.000    0.869    0.000 aggregates.py:535(construct_aggregate_queries)
    13300    0.153    0.000    0.868    0.000 pool.py:478(checkout)
   868715    0.558    0.000    0.855    0.000 inspect.py:142(isfunction)
  1068215    0.646    0.000    0.837    0.000 inspect.py:191(isframe)
   501689    0.815    0.000    0.815    0.000 attr.py:226(__bool__)
   103347    0.601    0.000    0.807    0.000 topological.py:16(sort_as_subsets)
    11483    0.023    0.000    0.795    0.000 type_api.py:961(process)
    66497    0.269    0.000    0.784    0.000 elements.py:3513(__new__)
    11483    0.083    0.000    0.772    0.000 arrow.py:68(process_bind_param)
   104578    0.390    0.000    0.770    0.000 selectable.py:35(_interpret_as_from)
    13300    0.041    0.000    0.767    0.000 pool.py:388(_return_conn)
   482354    0.760    0.000    0.760    0.000 compiler.py:271(__init__)
    39897    0.265    0.000    0.742    0.000 elements.py:3919(__init__)
    15115    0.235    0.000    0.739    0.000 selectable.py:847(_joincond_scan_left_right)
   482354    0.548    0.000    0.735    0.000 compiler.py:1272(_add_to_result_map)
   148696    0.167    0.000    0.731    0.000 selectable.py:2438(<genexpr>)
   210983    0.566    0.000    0.731    0.000 re.py:226(_compile)
   143246    0.465    0.000    0.727    0.000 session.py:1142(get_bind)
    13300    0.069    0.000    0.726    0.000 pool.py:1030(_do_return_conn)
    74348    0.363    0.000    0.712    0.000 query.py:306(_bind_mapper)
   255740    0.380    0.000    0.708    0.000 session.py:1967(_contains_state)
    11483    0.079    0.000    0.704    0.000 digikey.py:391(_get_datasheet)
    74348    0.570    0.000    0.695    0.000 elements.py:3665(_select_iterables)
   122097    0.228    0.000    0.692    0.000 __init__.py:1130(debug)
    87648    0.452    0.000    0.690    0.000 langhelpers.py:1033(_next)
   100948    0.482    0.000    0.683    0.000 base.py:74(__init__)
   159592    0.339    0.000    0.674    0.000 base.py:208(manager_of_class)
   868715    0.531    0.000    0.670    0.000 inspect.py:209(iscode)
    74348    0.583    0.000    0.667    0.000 query.py:3107(_adjust_for_single_inheritance)
    74348    0.206    0.000    0.666    0.000 session.py:1279(_autoflush)
    45932    0.121    0.000    0.658    0.000 dependency.py:581(_pks_changed)
    13300    0.173    0.000    0.657    0.000 queue.py:87(put)
    11483    0.051    0.000    0.657    0.000 __init__.py:328(_stat)
   161997    0.407    0.000    0.655    0.000 session.py:2016(_is_clean)
   160762    0.383    0.000    0.637    0.000 __init__.py:339(<genexpr>)
   175301    0.524    0.000    0.634    0.000 base.py:89(__getattr__)
  1147867    0.630    0.000    0.630    0.000 {method 'startswith' of 'str' objects}
   143894    0.370    0.000    0.626    0.000 state.py:251(_cleanup)
   100946    0.279    0.000    0.618    0.000 type_api.py:372(_cached_bind_processor)
    22966    0.312    0.000    0.600    0.000 state.py:611(_commit_all_states)
   673342    0.590    0.000    0.590    0.000 {method 'copy' of 'dict' objects}
    13300    0.221    0.000    0.586    0.000 base.py:47(__init__)
    11483    0.578    0.000    0.578    0.000 {dir}
   100946    0.576    0.000    0.576    0.000 compiler.py:1155(bindparam_string)
    11483    0.157    0.000    0.561    0.000 digikey.py:406(_get_vqtyavail)
    34449    0.073    0.000    0.560    0.000 <string>:1(params)
   229660    0.552    0.000    0.552    0.000 state.py:277(dict)
   482354    0.548    0.000    0.548    0.000 compiler.py:280(type)
    13300    0.032    0.000    0.546    0.000 <string>:1(and_)
    11483    0.157    0.000    0.544    0.000 inspect.py:804(getargspec)
   103347    0.296    0.000    0.543    0.000 unitofwork.py:293(states_for_mapper_hierarchy)
    22966    0.129    0.000    0.540    0.000 session.py:234(_begin)
    45932    0.248    0.000    0.538    0.000 sync.py:106(source_modified)
    13300    0.070    0.000    0.535    0.000 pool.py:1039(_do_get)
    74348    0.532    0.000    0.532    0.000 result.py:928(process_rows)
   210983    0.275    0.000    0.523    0.000 <string>:8(__new__)
    34449    0.113    0.000    0.521    0.000 instrumentation.py:354(has_parent)
    11483    0.186    0.000    0.520    0.000 __init__.py:216(reset)
   482286    0.291    0.000    0.520    0.000 _collections.py:688(<genexpr>)
   547033    0.518    0.000    0.518    0.000 elements.py:3292(_get_table)
    34449    0.504    0.000    0.504    0.000 {built-in method fromtimestamp}
    36266    0.283    0.000    0.500    0.000 session.py:358(_prepare_impl)
   482354    0.287    0.000    0.494    0.000 elements.py:3839(_interpret_as_column_or_from)
    13299    0.172    0.000    0.493    0.000 elements.py:1183(_clone)
  1854413    0.491    0.000    0.491    0.000 {method 'add' of 'set' objects}
    11483    0.074    0.000    0.485    0.000 locale.py:608(getpreferredencoding)
    11483    0.087    0.000    0.485    0.000 default.py:807(_setup_crud_result_proxy)
   157783    0.482    0.000    0.482    0.000 {posix.getcwd}
    85831    0.308    0.000    0.480    0.000 result.py:637(_soft_close)
    68898    0.146    0.000    0.474    0.000 unitofwork.py:503(_elements)
   167445    0.197    0.000    0.470    0.000 elements.py:3765(_expression_literal_as_text)
    34449    0.082    0.000    0.467    0.000 <string>:1(_adapt_all_clauses)
    13300    0.130    0.000    0.465    0.000 queue.py:130(get)
    22966    0.173    0.000    0.465    0.000 session.py:1959(__iter__)
   376540    0.460    0.000    0.460    0.000 session.py:190(_assert_active)
   344540    0.328    0.000    0.455    0.000 element.py:890(get)
   760410    0.449    0.000    0.449    0.000 {method 'intersection' of 'set' objects}
    34449    0.288    0.000    0.445    0.000 attributes.py:900(get_all_pending)
    34449    0.164    0.000    0.443    0.000 base.py:288(validatepath)
    26598    0.224    0.000    0.440    0.000 elements.py:235(_clone)
    68898    0.438    0.000    0.438    0.000 _collections.py:315(values)
    13300    0.177    0.000    0.435    0.000 pool.py:764(_reset)
    26599    0.285    0.000    0.433    0.000 elements.py:1821(_from_objects)
    34449    0.334    0.000    0.432    0.000 mapper.py:2397(_identity_key_from_state)
    34449    0.278    0.000    0.427    0.000 state.py:565(_commit)
    91864    0.360    0.000    0.426    0.000 state.py:524(_modified_event)
   143894    0.420    0.000    0.420    0.000 <string>:1(set)
   232124    0.415    0.000    0.415    0.000 elements.py:698(self_group)
    34449    0.082    0.000    0.406    0.000 strategy_options.py:216(_set_path_strategy)
    11483    0.199    0.000    0.398    0.000 _lxml.py:45(parser_for)
   234528    0.396    0.000    0.396    0.000 __init__.py:1331(getEffectiveLevel)
    34449    0.065    0.000    0.393    0.000 locale.py:564(setlocale)
   290189    0.391    0.000    0.391    0.000 identity.py:106(contains_state)
   159600    0.390    0.000    0.390    0.000 weakref.py:282(__init__)
   157783    0.210    0.000    0.389    0.000 posixpath.py:59(isabs)
    11483    0.093    0.000    0.389    0.000 dependency.py:541(process_saves)
    34449    0.078    0.000    0.387    0.000 path_registry.py:250(entity_path)
    34449    0.077    0.000    0.385    0.000 strategy_options.py:94(process_query)
   116062    0.378    0.000    0.378    0.000 elements.py:2754(_from_objects)
    11483    0.120    0.000    0.371    0.000 arrow.py:425(to)
   206694    0.318    0.000    0.370    0.000 unitofwork.py:454(__new__)
    89464    0.190    0.000    0.366    0.000 compiler.py:1788(visit_table)
    68898    0.086    0.000    0.357    0.000 dependency.py:59(per_property_preprocessors)
    34449    0.265    0.000    0.355    0.000 persistence.py:918(_finalize_insert_update_commands)
    22966    0.089    0.000    0.354    0.000 attributes.py:629(set_committed_value)
    66497    0.220    0.000    0.354    0.000 elements.py:3469(__new__)
    97314    0.138    0.000    0.354    0.000 _collections.py:155(union)
    11483    0.055    0.000    0.350    0.000 digikey.py:373(_get_manufacturer)
    26600    0.257    0.000    0.350    0.000 threading.py:146(acquire)
   241143    0.350    0.000    0.350    0.000 _collections.py:687(__iter__)
   241793    0.195    0.000    0.349    0.000 elements.py:3769(_literal_as_text)
    11483    0.044    0.000    0.348    0.000 persistence.py:1047(<lambda>)
    47748    0.227    0.000    0.346    0.000 elements.py:2742(__bool__)
    91864    0.146    0.000    0.346    0.000 type_api.py:276(compare_values)
    11483    0.129    0.000    0.341    0.000 attributes.py:976(_initialize_collection)
   159592    0.335    0.000    0.335    0.000 {method 'get' of 'dictproxy' objects}
    80381    0.332    0.000    0.332    0.000 {method 'search' of '_sre.SRE_Pattern' objects}
    34449    0.158    0.000    0.332    0.000 strategy_options.py:86(_generate)
    34449    0.328    0.000    0.328    0.000 {_locale.setlocale}
    26599    0.088    0.000    0.327    0.000 elements.py:1967(self_group)
   178343    0.323    0.000    0.323    0.000 {method 'issuperset' of 'frozenset' objects}
    34449    0.194    0.000    0.318    0.000 attributes.py:474(hasparent)
    34449    0.066    0.000    0.316    0.000 <string>:1(_with_invoke_all_eagers)
    70455    0.191    0.000    0.313    0.000 vendors.py:205(__init__)
    34449    0.115    0.000    0.310    0.000 dependency.py:708(presort_saves)
   100946    0.309    0.000    0.309    0.000 {method 'split' of 'unicode' objects}
    34449    0.121    0.000    0.309    0.000 path_registry.py:254(__getitem__)
    34449    0.163    0.000    0.309    0.000 strategy_options.py:100(_process)
   179250    0.153    0.000    0.309    0.000 util.py:37(isstr)
    11483    0.211    0.000    0.305    0.000 inspect.py:744(getargs)
    11483    0.080    0.000    0.304    0.000 base.py:149(execution_options)
    85831    0.263    0.000    0.303    0.000 default.py:692(should_autocommit)
    34449    0.086    0.000    0.301    0.000 path.py:20(normpath)
    34449    0.163    0.000    0.297    0.000 _collections.py:183(__iter__)
    11483    0.110    0.000    0.297    0.000 vendors.py:408(__repr__)
    13300    0.054    0.000    0.294    0.000 base.py:534(begin)
    57415    0.171    0.000    0.291    0.000 attributes.py:740(get_history)
    34449    0.204    0.000    0.283    0.000 persistence.py:720(_emit_insert_statements)
    74348    0.283    0.000    0.283    0.000 query.py:2638(_select_args)
    11483    0.233    0.000    0.280    0.000 __init__.py:38(lookup)
   641215    0.279    0.000    0.279    0.000 {method 'strip' of 'unicode' objects}
    11483    0.041    0.000    0.274    0.000 type_api.py:1057(compare_values)
    34449    0.129    0.000    0.274    0.000 strategy_options.py:185(_coerce_strat)
    22966    0.169    0.000    0.273    0.000 identity.py:163(values)
    13300    0.186    0.000    0.271    0.000 session.py:1082(expunge_all)
    68898    0.162    0.000    0.271    0.000 unitofwork.py:223(register_preprocessor)
    39897    0.153    0.000    0.269    0.000 annotation.py:45(__init__)
   333007    0.268    0.000    0.268    0.000 {method 'difference' of 'set' objects}
   103347    0.268    0.000    0.268    0.000 attributes.py:752(get_all_pending)
    93093    0.109    0.000    0.268    0.000 langhelpers.py:750(_reset)
    16931    0.056    0.000    0.268    0.000 schema.py:1635(get_referent)
   421966    0.263    0.000    0.263    0.000 {max}
    11483    0.022    0.000    0.263    0.000 api.py:25(utcnow)
   157783    0.262    0.000    0.262    0.000 {method 'split' of 'str' objects}
   760997    0.261    0.000    0.261    0.000 {method 'update' of 'set' objects}
    11483    0.046    0.000    0.259    0.000 digikey.py:366(_get_mpartno)
    85831    0.258    0.000    0.258    0.000 {sqlalchemy.cutils._distill_params}
   142986    0.180    0.000    0.256    0.000 identity.py:190(_fast_discard)
   161997    0.247    0.000    0.247    0.000 identity.py:53(check_modified)
   140845    0.247    0.000    0.247    0.000 strategies.py:615(create_row_processor)
    34449    0.150    0.000    0.247    0.000 query.py:1254(params)
    74348    0.205    0.000    0.245    0.000 query.py:3180(__init__)
   281820    0.244    0.000    0.244    0.000 {method 'replace' of 'unicode' objects}
    68898    0.139    0.000    0.241    0.000 _collections.py:846(flatten_iterator)
    74348    0.241    0.000    0.241    0.000 selectable.py:1695(__init__)
    11483    0.051    0.000    0.240    0.000 factory.py:206(utcnow)
    13300    0.079    0.000    0.240    0.000 base.py:1595(__init__)
   389256    0.239    0.000    0.239    0.000 {method 'values' of 'dict' objects}
    26599    0.048    0.000    0.239    0.000 elements.py:1825(self_group)
    34449    0.166    0.000    0.237    0.000 persistence.py:835(_emit_delete_statements)
    11483    0.109    0.000    0.235    0.000 element.py:725(for_name_and_ids)
   272613    0.235    0.000    0.235    0.000 {method 'endswith' of 'str' objects}
    11483    0.049    0.000    0.233    0.000 dependency.py:495(process_deletes)
    87648    0.180    0.000    0.230    0.000 query.py:289(_mapper_zero)
    11483    0.051    0.000    0.230    0.000 dependency.py:745(process_saves)
    34449    0.076    0.000    0.229    0.000 session.py:1842(_save_or_update_impl)
    22966    0.163    0.000    0.229    0.000 session.py:1542(_register_altered)
   482286    0.229    0.000    0.229    0.000 _collections.py:689(<genexpr>)
    34449    0.174    0.000    0.227    0.000 _collections.py:805(has_intersection)
    11483    0.040    0.000    0.225    0.000 arrow.py:78(_coerce)
    68898    0.176    0.000    0.224    0.000 persistence.py:1044(_cached_connection_dict)
    74348    0.221    0.000    0.221    0.000 path_registry.py:70(get)
    11395    0.092    0.000    0.221    0.000 collections.py:659(append_multiple_without_event)
    34449    0.153    0.000    0.217    0.000 session.py:37(_state_session)
    11483    0.197    0.000    0.215    0.000 {method 'close' of 'lxml.etree._FeedParser' objects}
    16931    0.154    0.000    0.212    0.000 selectable.py:450(corresponding_column)
    22966    0.058    0.000    0.210    0.000 attributes.py:675(get_history)
    24783    0.207    0.000    0.207    0.000 {method 'format' of 'str' objects}
      909    0.001    0.000    0.207    0.000 vendors.py:500(get_idents)
   143894    0.207    0.000    0.207    0.000 identity.py:140(_add_unpresent)
        1    0.002    0.002    0.206    0.206 vendors.py:77(get_idents)
   148692    0.202    0.000    0.202    0.000 annotation.py:90(__hash__)
    13300    0.119    0.000    0.202    0.000 default.py:419(do_rollback)
    13300    0.095    0.000    0.201    0.000 weakref.py:98(__setitem__)
    26600    0.143    0.000    0.201    0.000 threading.py:372(notify)
    11483    0.047    0.000    0.200    0.000 digikey.py:424(_get_vpartdesc)
        1    0.000    0.000    0.200    0.200 controller.py:279(get_vendor_idents)
   210983    0.200    0.000    0.200    0.000 linecache.py:33(getlines)
    11483    0.115    0.000    0.200    0.000 arrow.py:700(__eq__)
    22966    0.199    0.000    0.199    0.000 unitofwork.py:109(__init__)
   148696    0.198    0.000    0.198    0.000 query.py:3262(_get_entity_clauses)
   100947    0.198    0.000    0.198    0.000 query.py:228(_adapt_clause)
    22966    0.182    0.000    0.196    0.000 _collections.py:144(__new__)
   116062    0.154    0.000    0.196    0.000 type_api.py:1137(to_instance)
    11483    0.071    0.000    0.189    0.000 arrow.py:76(utcnow)
    53198    0.162    0.000    0.187    0.000 type_api.py:424(coerce_compared_value)
    34449    0.129    0.000    0.187    0.000 _collections.py:312(keys)
    11483    0.079    0.000    0.186    0.000 instrumentation.py:290(initialize_collection)
   100689    0.183    0.000    0.183    0.000 {method 'remove' of 'list' objects}
    34449    0.122    0.000    0.183    0.000 strategy_options.py:80(__init__)
    34449    0.131    0.000    0.183    0.000 __init__.py:187(getmeta)
    11483    0.042    0.000    0.179    0.000 digikey.py:380(_get_package)
    68898    0.148    0.000    0.174    0.000 unitofwork.py:282(<lambda>)
    34449    0.138    0.000    0.174    0.000 base.py:314(_generate)
   218177    0.173    0.000    0.173    0.000 {method 'difference_update' of 'set' objects}
    85831    0.141    0.000    0.172    0.000 base.py:1220(_safe_close_cursor)
    13300    0.071    0.000    0.170    0.000 base.py:359(_entity_descriptor)
   114248    0.165    0.000    0.165    0.000 {method 'acquire' of 'thread.lock' objects}
   102176    0.164    0.000    0.164    0.000 elements.py:3657(_expand_cloned)
   137796    0.164    0.000    0.164    0.000 relationships.py:1731(_get_cascade)
   395872    0.164    0.000    0.164    0.000 {iter}
    68898    0.163    0.000    0.163    0.000 interfaces.py:486(_get_strategy)
   103347    0.163    0.000    0.163    0.000 mapper.py:2652(_memo)
   154469    0.162    0.000    0.162    0.000 identity.py:145(get)
    93093    0.128    0.000    0.159    0.000 langhelpers.py:753(reset)
    34449    0.158    0.000    0.158    0.000 path_registry.py:267(__init__)
    26599    0.121    0.000    0.156    0.000 elements.py:716(comparator)
    34449    0.107    0.000    0.154    0.000 path_registry.py:283(__getitem__)
    34449    0.090    0.000    0.153    0.000 session.py:1818(_update_impl)
    22966    0.091    0.000    0.153    0.000 attributes.py:1303(from_scalar_attribute)
    45932    0.151    0.000    0.151    0.000 instrumentation.py:302(get_impl)
    85831    0.117    0.000    0.151    0.000 _collections.py:394(__iter__)
    26600    0.120    0.000    0.151    0.000 threading.py:186(release)
    11483    0.018    0.000    0.148    0.000 __init__.py:35(_os_stat)
   166212    0.142    0.000    0.142    0.000 _collections.py:724(__init__)
    57415    0.068    0.000    0.140    0.000 session.py:1533(<genexpr>)
    13300    0.120    0.000    0.140    0.000 base.py:642(_begin_impl)
    39899    0.074    0.000    0.137    0.000 _collections.py:787(coerce_generator_arg)
    11483    0.113    0.000    0.137    0.000 persistence.py:959(_postfetch)
   315873    0.136    0.000    0.136    0.000 {method 'pop' of 'dict' objects}
    15115    0.095    0.000    0.134    0.000 query.py:1983(_prepare_right_side)
   123912    0.129    0.000    0.129    0.000 {_codecs.utf_8_encode}
    70455    0.103    0.000    0.128    0.000 collections.py:1071(append)
    74348    0.127    0.000    0.127    0.000 {zip}
    22966    0.116    0.000    0.127    0.000 collections.py:687(__iter__)
    11483    0.111    0.000    0.125    0.000 {method 'astimezone' of 'datetime.datetime' objects}
   482354    0.125    0.000    0.125    0.000 elements.py:758(_select_iterable)
    11483    0.125    0.000    0.125    0.000 {time.mktime}
    15115    0.055    0.000    0.122    0.000 selectable.py:1057(_hide_froms)
    70455    0.102    0.000    0.122    0.000 currency.py:219(__init__)
    13300    0.081    0.000    0.122    0.000 query.py:300(_joinpoint_zero)
    45637    0.121    0.000    0.121    0.000 {method 'replace' of 'str' objects}
   116062    0.120    0.000    0.120    0.000 query.py:389(_no_limit_offset)
    45932    0.108    0.000    0.119    0.000 unitofwork.py:475(__init__)
    36266    0.094    0.000    0.119    0.000 identity.py:184(all_states)
    85831    0.119    0.000    0.119    0.000 result.py:632(_cursor_description)
   482354    0.119    0.000    0.119    0.000 elements.py:3521(apply_map)
    11483    0.032    0.000    0.118    0.000 urllib.py:1290(quote_plus)
    39897    0.091    0.000    0.118    0.000 annotation.py:31(__new__)
   116062    0.117    0.000    0.117    0.000 query.py:381(_no_statement_condition)
   399567    0.112    0.000    0.112    0.000 mapper.py:642(mapper)
   206694    0.111    0.000    0.111    0.000 attributes.py:1251(__bool__)
    74348    0.111    0.000    0.111    0.000 mapper.py:1890(_with_polymorphic_mappers)
   175301    0.110    0.000    0.110    0.000 {setattr}
    68898    0.108    0.000    0.108    0.000 unitofwork.py:411(__init__)
    15115    0.078    0.000    0.108    0.000 selectable.py:1062(_from_objects)
    13300    0.062    0.000    0.105    0.000 base.py:116(_join)
    68898    0.105    0.000    0.105    0.000 {method 'startswith' of 'unicode' objects}
   135393    0.079    0.000    0.105    0.000 {hash}
    13299    0.089    0.000    0.102    0.000 relationships.py:1363(visit_bindparam)
    26600    0.059    0.000    0.102    0.000 pool.py:854(__getattr__)
   125143    0.100    0.000    0.100    0.000 instrumentation.py:94(is_mapped)
   519000    0.099    0.000    0.099    0.000 {id}
    11483    0.099    0.000    0.099    0.000 {method 'timetuple' of 'datetime.datetime' objects}
   252626    0.098    0.000    0.098    0.000 {method 'isdisjoint' of 'set' objects}
    22966    0.069    0.000    0.097    0.000 six.py:552(iteritems)
    34449    0.097    0.000    0.097    0.000 _collections.py:318(items)
    68898    0.077    0.000    0.096    0.000 identity.py:72(__len__)
   210983    0.093    0.000    0.093    0.000 {min}
    11483    0.041    0.000    0.092    0.000 arrow.py:335(naive)
   165038    0.092    0.000    0.092    0.000 mapper.py:1965(selectable)
    11483    0.073    0.000    0.090    0.000 attributes.py:1290(as_state)
    68898    0.089    0.000    0.089    0.000 {method 'intersection' of 'frozenset' objects}
    15115    0.075    0.000    0.088    0.000 controller.py:57(_get_ident)
    11483    0.055    0.000    0.087    0.000 base.py:135(_clone)
    26600    0.087    0.000    0.087    0.000 identity.py:14(__init__)
    11483    0.058    0.000    0.086    0.000 urllib.py:1251(quote)
    11483    0.068    0.000    0.085    0.000 _collections.py:879(get)
    13300    0.067    0.000    0.084    0.000 session.py:297(_remove_snapshot)
    22966    0.067    0.000    0.083    0.000 unitofwork.py:271(_mapper_for_dep)
    74348    0.083    0.000    0.083    0.000 base.py:1472(get_select_precolumns)
    11483    0.082    0.000    0.082    0.000 {_hashlib.openssl_md5}
    11483    0.059    0.000    0.080    0.000 codecs.py:284(__init__)
    13300    0.061    0.000    0.074    0.000 contextlib.py:82(helper)
    13300    0.036    0.000    0.073    0.000 log.py:54(_should_log_debug)
    22966    0.045    0.000    0.070    0.000 arrow.py:844(_get_datetime)
    80381    0.069    0.000    0.069    0.000 unitofwork.py:524(__init__)
    11483    0.043    0.000    0.067    0.000 attributes.py:1330(from_object_attribute)
    34449    0.066    0.000    0.066    0.000 weakref.py:320(__setitem__)
   114248    0.066    0.000    0.066    0.000 {method 'release' of 'thread.lock' objects}
   108797    0.065    0.000    0.065    0.000 query.py:3746(<genexpr>)
    13300    0.029    0.000    0.064    0.000 log.py:57(_should_log_info)
    11483    0.028    0.000    0.064    0.000 element.py:49(__new__)
    70455    0.049    0.000    0.064    0.000 vendors.py:321(add_price)
    34449    0.064    0.000    0.064    0.000 weakref.py:69(__getitem__)
    13300    0.063    0.000    0.063    0.000 pool.py:559(get_connection)
    79800    0.063    0.000    0.063    0.000 base.py:301(connection)
   119694    0.063    0.000    0.063    0.000 selectable.py:1418(_from_objects)
   357790    0.062    0.000    0.062    0.000 {method 'popleft' of 'collections.deque' objects}
    76166    0.062    0.000    0.062    0.000 session.py:225(_is_transaction_boundary)
    34449    0.050    0.000    0.062    0.000 __init__.py:151(_decode_path)
    45932    0.061    0.000    0.061    0.000 unitofwork.py:164(memo)
    68898    0.060    0.000    0.060    0.000 mapper.py:2299(iterate_to_root)
    85831    0.060    0.000    0.060    0.000 compiler.py:215(__str__)
    11483    0.059    0.000    0.059    0.000 _lxml.py:54(__init__)
    97314    0.058    0.000    0.058    0.000 {method 'union' of 'set' objects}
    34449    0.045    0.000    0.058    0.000 _collections.py:309(__iter__)
    13300    0.058    0.000    0.058    0.000 weakref.py:267(__init__)
    11483    0.057    0.000    0.057    0.000 {built-in method utcnow}
    34449    0.040    0.000    0.057    0.000 path.py:140(relpath)
    34449    0.047    0.000    0.057    0.000 path_registry.py:77(__len__)
    13297    0.057    0.000    0.057    0.000 weakref.py:48(remove)
    11483    0.057    0.000    0.057    0.000 parser.py:281(parse)
    34449    0.056    0.000    0.056    0.000 query.py:224(_adapt_all_clauses)
    11483    0.036    0.000    0.054    0.000 result.py:536(rowcount)
    34449    0.053    0.000    0.053    0.000 dependency.py:797(per_property_preprocessors)
    11483    0.036    0.000    0.053    0.000 dependency.py:324(per_property_dependencies)
    11483    0.031    0.000    0.053    0.000 dependency.py:594(per_property_dependencies)
    22966    0.040    0.000    0.053    0.000 session.py:2506(_dirty_states)
    80381    0.052    0.000    0.052    0.000 unitofwork.py:553(__init__)
    34449    0.052    0.000    0.052    0.000 base.py:235(getmeta)
    15115    0.040    0.000    0.052    0.000 query.py:3245(corresponds_to)
   103347    0.052    0.000    0.052    0.000 persistence.py:1054(<genexpr>)
    11483    0.051    0.000    0.051    0.000 {method 'replace' of 'datetime.datetime' objects}
    11188    0.050    0.000    0.050    0.000 {method 'groupdict' of '_sre.SRE_Match' objects}
    45932    0.050    0.000    0.050    0.000 {method 'rstrip' of 'str' objects}
   157783    0.050    0.000    0.050    0.000 posixpath.py:51(normcase)
    34449    0.049    0.000    0.049    0.000 weakref.py:284(remove)
    87648    0.049    0.000    0.049    0.000 query.py:286(_entity_zero)
    11483    0.049    0.000    0.049    0.000 {method 'hexdigest' of '_hashlib.HASH' objects}
    13300    0.036    0.000    0.049    0.000 weakref.py:262(__new__)
    34449    0.049    0.000    0.049    0.000 identity.py:109(replace)
    91864    0.048    0.000    0.048    0.000 mapper.py:2340(primary_base_mapper)
    34449    0.047    0.000    0.047    0.000 state.py:234(has_identity)
    79800    0.046    0.000    0.046    0.000 threading.py:63(_note)
    15115    0.046    0.000    0.046    0.000 selectable.py:874(<lambda>)
    11483    0.045    0.000    0.045    0.000 collections.py:578(__init__)
    26600    0.035    0.000    0.043    0.000 threading.py:237(_is_owned)
    13300    0.043    0.000    0.043    0.000 base.py:255(__init__)
    22966    0.037    0.000    0.042    0.000 _lxml.py:72(prepare_markup)
    15115    0.036    0.000    0.040    0.000 elements.py:269(_cloned_set)
    70455    0.039    0.000    0.039    0.000 vendors.py:488(currency)
    68898    0.039    0.000    0.039    0.000 persistence.py:184(<genexpr>)
    34449    0.039    0.000    0.039    0.000 {method 'clear' of 'dict' objects}
    70455    0.039    0.000    0.039    0.000 currency.py:248(source_value)
    85831    0.039    0.000    0.039    0.000 default.py:750(post_exec)
    13300    0.032    0.000    0.038    0.000 queue.py:194(_put)
    13300    0.030    0.000    0.038    0.000 queue.py:190(_full)
   140845    0.037    0.000    0.037    0.000 interfaces.py:617(setup_query)
    79800    0.037    0.000    0.037    0.000 {thread.get_ident}
    22966    0.037    0.000    0.037    0.000 __init__.py:220(<genexpr>)
    13300    0.035    0.000    0.035    0.000 session.py:239(_iterate_parents)
    26599    0.035    0.000    0.035    0.000 type_api.py:53(__init__)
    85831    0.035    0.000    0.035    0.000 default.py:747(pre_exec)
    13300    0.034    0.000    0.034    0.000 pool.py:677(__init__)
    89463    0.034    0.000    0.034    0.000 selectable.py:170(selectable)
    11483    0.019    0.000    0.033    0.000 attributes.py:893(get_history)
    22966    0.031    0.000    0.031    0.000 unitofwork.py:154(has_work)
    85831    0.031    0.000    0.031    0.000 {method 'close' of 'psycopg2.extensions.cursor' objects}
    13300    0.025    0.000    0.030    0.000 queue.py:198(_get)
    16931    0.030    0.000    0.030    0.000 base.py:590(contains_column)
    70455    0.028    0.000    0.028    0.000 vendors.py:210(moq)
    11483    0.028    0.000    0.028    0.000 persistence.py:632(<lambda>)
   126313    0.028    0.000    0.028    0.000 {method 'remove' of 'set' objects}
    47749    0.028    0.000    0.028    0.000 {method 'discard' of 'set' objects}
    13300    0.027    0.000    0.027    0.000 {method 'rollback' of 'psycopg2.extensions.connection' objects}
    34449    0.027    0.000    0.027    0.000 persistence.py:362(_collect_insert_commands)
    34449    0.026    0.000    0.026    0.000 persistence.py:1057(<lambda>)
    53200    0.026    0.000    0.026    0.000 {method 'setdefault' of 'dict' objects}
    70455    0.026    0.000    0.026    0.000 collections.py:1038(__set)
    22966    0.025    0.000    0.025    0.000 vendors.py:324(vpno)
    11483    0.025    0.000    0.025    0.000 attributes.py:1255(empty)
    22966    0.025    0.000    0.025    0.000 unitofwork.py:388(<genexpr>)
    34449    0.024    0.000    0.024    0.000 persistence.py:568(_collect_delete_commands)
    53200    0.023    0.000    0.023    0.000 langhelpers.py:825(<lambda>)
    11483    0.022    0.000    0.022    0.000 _lxml.py:218(default_parser)
    15115    0.022    0.000    0.022    0.000 query.py:2112(_reset_joinpoint)
    70455    0.022    0.000    0.022    0.000 vendors.py:218(unit_price)
    70455    0.022    0.000    0.022    0.000 vendors.py:214(oqmultiple)
    11483    0.021    0.000    0.021    0.000 codecs.py:235(__init__)
    13300    0.021    0.000    0.021    0.000 base.py:1532(__init__)
    34449    0.021    0.000    0.021    0.000 query.py:906(_with_invoke_all_eagers)
    22966    0.020    0.000    0.020    0.000 {method 'iteritems' of 'dict' objects}
    11483    0.019    0.000    0.019    0.000 {_locale.nl_langinfo}
    11483    0.018    0.000    0.018    0.000 _lxml.py:123(close)
    13299    0.018    0.000    0.018    0.000 interfaces.py:362(adapter)
    11483    0.018    0.000    0.018    0.000 default.py:797(rowcount)
    34449    0.017    0.000    0.017    0.000 {method 'lstrip' of 'str' objects}
    45932    0.017    0.000    0.017    0.000 tz.py:47(utcoffset)
    22966    0.017    0.000    0.017    0.000 __init__.py:121(deprecated_argument)
    11483    0.017    0.000    0.017    0.000 _collections.py:875(_inc_counter)
    13300    0.016    0.000    0.016    0.000 {sys._getframe}
    11483    0.016    0.000    0.016    0.000 element.py:922(__setitem__)
    53196    0.016    0.000    0.016    0.000 elements.py:378(_copy_internals)
    34449    0.015    0.000    0.015    0.000 state.py:221(parents)
    13300    0.015    0.000    0.015    0.000 base.py:1537(_parent)
    34449    0.015    0.000    0.015    0.000 persistence.py:180(<genexpr>)
    11483    0.014    0.000    0.014    0.000 vendors.py:332(vqtyavail)
    13299    0.013    0.000    0.013    0.000 relationships.py:1384(_get_attr_w_warn_on_none)
    26538    0.013    0.000    0.013    0.000 {method 'strip' of 'str' objects}
    13300    0.013    0.000    0.013    0.000 contextlib.py:12(__init__)
    11483    0.013    0.000    0.013    0.000 vendors.py:340(manufacturer)
    22966    0.013    0.000    0.013    0.000 identity.py:50(_dirty_states)
    15115    0.012    0.000    0.012    0.000 mapper.py:2278(common_parent)
    13300    0.012    0.000    0.012    0.000 queue.py:186(_empty)
    11483    0.012    0.000    0.012    0.000 vendors.py:352(mpartno)
    11483    0.011    0.000    0.011    0.000 vendors.py:434(package)
    11483    0.011    0.000    0.011    0.000 vendors.py:348(mpartno)
    11483    0.011    0.000    0.011    0.000 vendors.py:442(datasheet)
    11483    0.011    0.000    0.011    0.000 arrow.py:329(datetime)
    11483    0.011    0.000    0.011    0.000 vendors.py:360(vpartdesc)
    11483    0.010    0.000    0.010    0.000 vendors.py:344(manufacturer)
    15115    0.010    0.000    0.010    0.000 query.py:3241(entity_zero_or_selectable)
    11483    0.010    0.000    0.010    0.000 vendors.py:368(pkgqty)
    34449    0.009    0.000    0.009    0.000 {method 'pop' of 'collections.deque' objects}
    22966    0.009    0.000    0.009    0.000 __init__.py:98(reset)
    11483    0.009    0.000    0.009    0.000 vendors.py:336(vqtyavail)
    11483    0.009    0.000    0.009    0.000 vendors.py:386(prices)
    11483    0.008    0.000    0.008    0.000 dependency.py:727(process_deletes)
    11483    0.008    0.000    0.008    0.000 vendors.py:438(package)
    11483    0.008    0.000    0.008    0.000 {time.time}
    11483    0.008    0.000    0.008    0.000 vendors.py:446(datasheet)
    11483    0.008    0.000    0.008    0.000 default.py:401(set_connection_execution_options)
    22966    0.008    0.000    0.008    0.000 _collections.py:149(__init__)
    22966    0.007    0.000    0.007    0.000 tz.py:50(dst)
    11483    0.007    0.000    0.007    0.000 base.py:121(_root)
    11483    0.007    0.000    0.007    0.000 vendors.py:356(vpartdesc)
    13300    0.006    0.000    0.006    0.000 interfaces.py:120(create_row_processor)
    11483    0.006    0.000    0.006    0.000 state.py:225(_pending_mutations)
    13300    0.006    0.000    0.006    0.000 interfaces.py:111(setup)
    13300    0.006    0.000    0.006    0.000 {method 'append' of 'collections.deque' objects}
    13300    0.005    0.000    0.005    0.000 default.py:416(do_begin)
    15115    0.005    0.000    0.005    0.000 elements.py:405(self_group)
    13299    0.005    0.000    0.005    0.000 base.py:32(_clone)
    11483    0.005    0.000    0.005    0.000 {method 'reverse' of 'list' objects}
     1816    0.004    0.000    0.004    0.000 selectable.py:857(<lambda>)
      127    0.001    0.000    0.001    0.000 {map}
      908    0.000    0.000    0.000    0.000 state.py:244(_detach)
        1    0.000    0.000    0.000    0.000 attributes.py:145(__clause_element__)
        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}