CSIL Vendor Get Part (DB) ProfilingΒΆ

Raw execution profile SVG of execution profile

Execution Profile

../../../_images/csil.profile3.svg

pstats Output

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

         755503 function calls (740532 primitive calls) in 2.220 seconds

   Ordered by: cumulative time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.002    0.002    2.225    2.225 vendors.py:74(profile_vendor_get_part_db)
       45    0.000    0.000    2.222    0.049 vendors.py:509(get_all_vparts)
      486    0.002    0.000    1.462    0.003 query.py:2511(__iter__)
      486    0.004    0.000    1.345    0.003 query.py:2525(_execute_and_instances)
      486    0.001    0.000    1.313    0.003 base.py:846(execute)
      486    0.001    0.000    1.311    0.003 elements.py:322(_execute_on_connection)
      486    0.005    0.000    1.310    0.003 base.py:975(_execute_clauseelement)
       44    0.000    0.000    1.304    0.030 vendors.py:519(get_vpart)
       44    0.000    0.000    1.303    0.030 csil.py:262(__init__)
       44    0.000    0.000    1.303    0.030 vendors.py:236(__init__)
       44    0.001    0.000    1.303    0.030 vendors.py:248(_populate)
  927/133    0.005    0.000    1.236    0.009 db.py:168(inner)
       44    0.002    0.000    1.200    0.027 vendors.py:285(load_from_db)
       44    0.006    0.000    1.196    0.027 vendors.py:292(_load_from_db)
      486    0.009    0.000    1.016    0.002 base.py:1061(_execute_context)
      177    0.004    0.000    1.002    0.006 query.py:2393(all)
       45    0.000    0.000    0.919    0.020 vendors.py:504(get_all_vpnos)
      486    0.001    0.000    0.904    0.002 default.py:449(do_execute)
      486    0.897    0.002    0.903    0.002 {method 'execute' of 'psycopg2.extensions.cursor' objects}
       44    0.000    0.000    0.898    0.020 maps.py:73(get_all_partnos)
3571/3483    0.005    0.000    0.868    0.000 attributes.py:229(__get__)
  308/220    0.001    0.000    0.864    0.004 attributes.py:556(get)
       88    0.000    0.000    0.859    0.010 strategies.py:477(_load_for_state)
       88    0.003    0.000    0.857    0.010 strategies.py:550(_emit_lazyload)
       88    0.003    0.000    0.666    0.008 controller.py:244(get_map_vpnos)
      309    0.006    0.000    0.626    0.002 query.py:2451(one)
      132    0.003    0.000    0.474    0.004 controller.py:215(get_map)
       44    0.000    0.000    0.468    0.011 vendors.py:88(get_upartnos)
       44    0.000    0.000    0.430    0.010 vendors.py:84(get_apartnos)
       44    0.000    0.000    0.338    0.008 controller.py:263(get_umap_vpnos)
       44    0.000    0.000    0.331    0.008 controller.py:257(get_amap_vpnos)
      266    0.002    0.000    0.331    0.001 db.py:111(get_session)
       44    0.001    0.000    0.318    0.007 controller.py:113(get_vpno_obj)
      221    0.001    0.000    0.308    0.001 controller.py:45(_get_vendor)
      133    0.001    0.000    0.306    0.002 controller.py:94(get_vendor)
      486    0.001    0.000    0.285    0.001 elements.py:431(compile)
      486    0.002    0.000    0.284    0.001 elements.py:496(_compiler)
      486    0.007    0.000    0.282    0.001 compiler.py:329(__init__)
      486    0.002    0.000    0.274    0.001 compiler.py:167(__init__)
      133    0.000    0.000    0.273    0.002 contextlib.py:15(__enter__)
      486    0.001    0.000    0.272    0.001 compiler.py:212(process)
 9055/486    0.022    0.000    0.271    0.001 visitors.py:75(_compiler_dispatch)
      486    0.013    0.000    0.268    0.001 compiler.py:1503(visit_select)
      133    0.003    0.000    0.258    0.002 db.py:83(_get_caller)
      133    0.000    0.000    0.246    0.002 inspect.py:1053(stack)
      133    0.004    0.000    0.245    0.002 inspect.py:1026(getouterframes)
     1995    0.016    0.000    0.241    0.000 inspect.py:988(getframeinfo)
     1995    0.020    0.000    0.158    0.000 inspect.py:518(findsource)
     1617    0.010    0.000    0.156    0.000 loading.py:30(instances)
     3225    0.020    0.000    0.126    0.000 compiler.py:1275(_label_select_column)
      486    0.007    0.000    0.112    0.000 query.py:2953(_compile_context)
     4123    0.031    0.000    0.106    0.000 inspect.py:440(getsourcefile)
     3225    0.024    0.000    0.092    0.000 compiler.py:581(visit_label)
3136/1103    0.006    0.000    0.089    0.000 operators.py:294(__eq__)
2385/1323    0.003    0.000    0.086    0.000 {operator.eq}
     1323    0.006    0.000    0.080    0.000 base.py:196(generate)
      486    0.008    0.000    0.077    0.000 compiler.py:1679(_compose_select_body)
      663    0.001    0.000    0.075    0.000 attributes.py:174(operate)
     1131    0.013    0.000    0.068    0.000 loading.py:360(_instance)
     1236    0.002    0.000    0.066    0.000 elements.py:738(operate)
 1986/706    0.008    0.000    0.061    0.000 visitors.py:86(_compiler_dispatch)
     1236    0.002    0.000    0.059    0.000 <string>:1(<lambda>)
      133    0.001    0.000    0.059    0.000 contextlib.py:21(__exit__)
     1236    0.005    0.000    0.057    0.000 type_api.py:57(operate)
      486    0.010    0.000    0.053    0.000 query.py:3282(row_processor)
     2128    0.007    0.000    0.052    0.000 inspect.py:472(getmodule)
      751    0.004    0.000    0.052    0.000 annotation.py:93(__eq__)
      486    0.014    0.000    0.052    0.000 default.py:515(_init_compiled)
      133    0.002    0.000    0.050    0.000 session.py:756(commit)
   111597    0.044    0.000    0.050    0.000 {isinstance}
      971    0.004    0.000    0.049    0.000 compiler.py:904(visit_binary)
      133    0.003    0.000    0.049    0.000 session.py:389(commit)
      486    0.003    0.000    0.049    0.000 psycopg2.py:466(get_result_proxy)
     4417    0.026    0.000    0.048    0.000 compiler.py:620(visit_column)
     6118    0.018    0.000    0.048    0.000 inspect.py:398(getfile)
      220    0.001    0.000    0.047    0.000 query.py:1511(join)
      531    0.001    0.000    0.047    0.000 properties.py:268(operate)
      220    0.000    0.000    0.046    0.000 <string>:1(_join)
      486    0.007    0.000    0.045    0.000 query.py:3071(_simple_statement)
      971    0.004    0.000    0.044    0.000 compiler.py:935(_generate_generic_binary)
      486    0.002    0.000    0.044    0.000 query.py:3317(setup_context)
      486    0.002    0.000    0.044    0.000 result.py:488(__init__)
      220    0.002    0.000    0.043    0.000 query.py:1800(_join)
      486    0.020    0.000    0.043    0.000 loading.py:269(_instance_processor)
      971    0.005    0.000    0.042    0.000 default_comparator.py:21(_boolean_compare)
      486    0.003    0.000    0.041    0.000 result.py:513(_init_metadata)
      486    0.010    0.000    0.041    0.000 loading.py:224(_setup_entity_query)
     1131    0.009    0.000    0.041    0.000 loading.py:478(_populate_full)
     1463    0.003    0.000    0.038    0.000 inspect.py:460(getabsfile)
      220    0.003    0.000    0.038    0.000 query.py:1915(_join_left_to_right)
      486    0.023    0.000    0.037    0.000 result.py:189(__init__)
     2833    0.005    0.000    0.037    0.000 {method 'join' of 'str' objects}
      486    0.003    0.000    0.037    0.000 <string>:1(select)
     3397    0.007    0.000    0.036    0.000 langhelpers.py:744(__get__)
      265    0.002    0.000    0.036    0.000 compiler.py:735(visit_clauselist)
      486    0.004    0.000    0.035    0.000 compiler.py:1654(_setup_select_stack)
      486    0.001    0.000    0.035    0.000 session.py:1245(query)
      486    0.001    0.000    0.034    0.000 query.py:107(__init__)
      486    0.011    0.000    0.034    0.000 selectable.py:2220(__init__)
      486    0.004    0.000    0.033    0.000 query.py:112(_set_entities)
      795    0.001    0.000    0.032    0.000 compiler.py:742(<genexpr>)
     1463    0.005    0.000    0.032    0.000 posixpath.py:365(abspath)
     1996    0.002    0.000    0.032    0.000 type_api.py:1009(process)
      795    0.001    0.000    0.032    0.000 compiler.py:744(<genexpr>)
      751    0.001    0.000    0.032    0.000 <string>:1(filter)
      220    0.001    0.000    0.031    0.000 query.py:2068(_join_to_left)
     1996    0.002    0.000    0.030    0.000 arrow.py:73(process_result_value)
      220    0.001    0.000    0.029    0.000 util.py:880(join)
      486    0.004    0.000    0.028    0.000 selectable.py:2506(_get_display_froms)
      220    0.002    0.000    0.028    0.000 util.py:779(__init__)
     1262    0.002    0.000    0.028    0.000 api.py:17(get)
     4373    0.010    0.000    0.028    0.000 interfaces.py:498(setup)
      133    0.002    0.000    0.027    0.000 query.py:1310(filter_by)
     1262    0.008    0.000    0.026    0.000 factory.py:32(get)
      132    0.001    0.000    0.025    0.000 relationships.py:961(__eq__)
      971    0.004    0.000    0.025    0.000 default_comparator.py:269(_check_literal)
      486    0.001    0.000    0.025    0.000 query.py:2518(_connection_from_session)
      486    0.002    0.000    0.023    0.000 session.py:811(connection)
      133    0.001    0.000    0.023    0.000 base.py:1569(commit)
      220    0.002    0.000    0.023    0.000 selectable.py:651(__init__)
      133    0.000    0.000    0.022    0.000 base.py:1603(_do_commit)
      751    0.005    0.000    0.022    0.000 query.py:1274(filter)
      486    0.009    0.000    0.022    0.000 selectable.py:2479(_froms)
      133    0.002    0.000    0.022    0.000 base.py:679(_commit_impl)
     3975    0.011    0.000    0.022    0.000 compiler.py:1130(_truncated_identifier)
     4123    0.006    0.000    0.022    0.000 genericpath.py:15(exists)
      750    0.003    0.000    0.021    0.000 compiler.py:1048(visit_bindparam)
      266    0.003    0.000    0.021    0.000 session.py:456(close)
      133    0.001    0.000    0.020    0.000 default.py:422(do_commit)
      486    0.001    0.000    0.020    0.000 session.py:884(_connection_for_bind)
       45    0.000    0.000    0.020    0.000 vendors.py:500(get_idents)
        1    0.000    0.000    0.020    0.020 vendors.py:77(get_idents)
    22875    0.019    0.000    0.020    0.000 {getattr}
      530    0.002    0.000    0.019    0.000 elements.py:3370(_bind_param)
      486    0.002    0.000    0.019    0.000 session.py:312(_connection_for_bind)
      133    0.019    0.000    0.019    0.000 {method 'commit' of 'psycopg2.extensions.connection' objects}
      220    0.001    0.000    0.019    0.000 selectable.py:786(_match_primaries)
      486    0.002    0.000    0.018    0.000 result.py:944(fetchall)
    12766    0.011    0.000    0.018    0.000 compiler.py:2693(quote)
      220    0.002    0.000    0.018    0.000 selectable.py:793(_join_condition)
      530    0.010    0.000    0.017    0.000 elements.py:913(__init__)
     4123    0.016    0.000    0.016    0.000 {posix.stat}
     1463    0.010    0.000    0.016    0.000 posixpath.py:336(normpath)
  928/664    0.002    0.000    0.016    0.000 annotation.py:71(_compiler_dispatch)
        1    0.000    0.000    0.016    0.016 controller.py:279(get_vendor_idents)
     5521    0.016    0.000    0.016    0.000 interfaces.py:466(_get_context_loader)
     3971    0.007    0.000    0.015    0.000 inspection.py:38(inspect)
      750    0.002    0.000    0.015    0.000 compiler.py:1117(_truncate_bindparam)
  530/265    0.001    0.000    0.014    0.000 operators.py:43(__and__)
      486    0.003    0.000    0.014    0.000 selectable.py:3151(_columns_plus_names)
      264    0.001    0.000    0.014    0.000 elements.py:2758(_copy_internals)
      399    0.001    0.000    0.014    0.000 session.py:694(begin)
      132    0.002    0.000    0.013    0.000 relationships.py:1334(_optimized_compare)
      398    0.001    0.000    0.013    0.000 elements.py:1890(and_)
      133    0.001    0.000    0.013    0.000 base.py:2020(contextual_connect)
      133    0.001    0.000    0.013    0.000 session.py:2646(__call__)
      486    0.001    0.000    0.013    0.000 result.py:911(_fetchall_impl)
     4788    0.013    0.000    0.013    0.000 {method 'match' of '_sre.SRE_Pattern' objects}
    20615    0.009    0.000    0.013    0.000 string.py:220(lower)
     1192    0.003    0.000    0.013    0.000 _collections.py:794(to_list)
      399    0.002    0.000    0.012    0.000 session.py:169(__init__)
      220    0.002    0.000    0.012    0.000 compiler.py:1803(visit_join)
      486    0.007    0.000    0.012    0.000 {method 'fetchall' of 'psycopg2.extensions.cursor' objects}
      220    0.003    0.000    0.012    0.000 mapper.py:2451(_get_state_attr_by_column)
      486    0.003    0.000    0.012    0.000 query.py:122(_set_entity_selectables)
      265    0.001    0.000    0.012    0.000 {operator.and_}
     1678    0.006    0.000    0.012    0.000 base.py:36(_from_objects)
      398    0.004    0.000    0.012    0.000 elements.py:1856(_construct)
      486    0.006    0.000    0.012    0.000 compiler.py:438(_bind_processors)
      132    0.001    0.000    0.011    0.000 visitors.py:280(cloned_traverse)
      133    0.002    0.000    0.011    0.000 session.py:512(__init__)
     3225    0.004    0.000    0.011    0.000 default.py:753(get_result_processor)
  396/132    0.003    0.000    0.011    0.000 visitors.py:287(clone)
      133    0.001    0.000    0.011    0.000 base.py:793(close)
     1458    0.006    0.000    0.011    0.000 _collections.py:747(unique_list)
      132    0.000    0.000    0.011    0.000 util.py:746(_orm_annotate)
      971    0.006    0.000    0.011    0.000 elements.py:2724(__init__)
      486    0.003    0.000    0.011    0.000 compiler.py:455(construct_params)
      133    0.000    0.000    0.010    0.000 pool.py:879(close)
      132    0.000    0.000    0.010    0.000 annotation.py:106(_deep_annotate)
     3225    0.003    0.000    0.010    0.000 result.py:497(_getter)
     1131    0.005    0.000    0.010    0.000 instrumentation.py:311(new_instance)
      220    0.003    0.000    0.010    0.000 selectable.py:847(_joincond_scan_left_right)
  396/132    0.001    0.000    0.010    0.000 annotation.py:113(clone)
      133    0.000    0.000    0.010    0.000 pool.py:756(_checkin)
      265    0.000    0.000    0.010    0.000 default_comparator.py:89(_conjunction_operate)
      486    0.002    0.000    0.010    0.000 query.py:3159(__new__)
      752    0.002    0.000    0.010    0.000 base.py:285(__get__)
    10241    0.006    0.000    0.010    0.000 inspect.py:51(ismodule)
     1262    0.005    0.000    0.010    0.000 arrow.py:118(fromdatetime)
      133    0.001    0.000    0.009    0.000 pool.py:615(_finalize_fairy)
      750    0.003    0.000    0.009    0.000 elements.py:3624(apply_map)
     1148    0.004    0.000    0.009    0.000 interfaces.py:507(create_row_processor)
      486    0.002    0.000    0.009    0.000 psycopg2.py:435(create_cursor)
      133    0.001    0.000    0.009    0.000 db.py:69(_format_frame)
     1456    0.003    0.000    0.008    0.000 base.py:389(_inspect_mapped_class)
     8113    0.005    0.000    0.008    0.000 inspect.py:59(isclass)
      133    0.000    0.000    0.008    0.000 base.py:2071(_wrap_pool_connect)
      396    0.001    0.000    0.008    0.000 elements.py:291(_annotate)
      133    0.000    0.000    0.008    0.000 pool.py:367(connect)
      486    0.003    0.000    0.008    0.000 _collections.py:359(__init__)
     3225    0.004    0.000    0.008    0.000 type_api.py:382(_cached_result_processor)
      132    0.000    0.000    0.008    0.000 elements.py:1168(effective_value)
     3225    0.008    0.000    0.008    0.000 result.py:419(_getter)
      133    0.001    0.000    0.008    0.000 pool.py:710(_checkout)
    10108    0.005    0.000    0.008    0.000 inspect.py:181(istraceback)
      132    0.000    0.000    0.007    0.000 relationships.py:1385(_go)
      752    0.001    0.000    0.007    0.000 base.py:108(_for_instance)
      399    0.003    0.000    0.007    0.000 session.py:256(_take_snapshot)
      486    0.002    0.000    0.007    0.000 base.py:325(_is_mapped_class)
     4123    0.007    0.000    0.007    0.000 {imp.get_suffixes}
    29228    0.007    0.000    0.007    0.000 {method 'append' of 'list' objects}
      486    0.001    0.000    0.007    0.000 pool.py:845(cursor)
      133    0.001    0.000    0.007    0.000 session.py:1031(close)
      133    0.001    0.000    0.006    0.000 pool.py:478(checkout)
     4727    0.006    0.000    0.006    0.000 weakref.py:314(__getitem__)
    10454    0.006    0.000    0.006    0.000 {built-in method __new__ of type object at 0x919120}
     1995    0.002    0.000    0.006    0.000 re.py:188(compile)
      750    0.001    0.000    0.006    0.000 _collections.py:727(__missing__)
      662    0.002    0.000    0.006    0.000 elements.py:3513(__new__)
      752    0.002    0.000    0.006    0.000 base.py:105(_for_class)
      133    0.001    0.000    0.006    0.000 pool.py:501(checkin)
      396    0.002    0.000    0.006    0.000 elements.py:3919(__init__)
     1149    0.003    0.000    0.006    0.000 operators.py:895(is_precedent)
      133    0.001    0.000    0.006    0.000 session.py:1076(_close_impl)
      884    0.001    0.000    0.006    0.000 elements.py:2783(self_group)
     1192    0.003    0.000    0.006    0.000 abc.py:128(__instancecheck__)
     1262    0.006    0.000    0.006    0.000 util.py:25(is_timestamp)
      486    0.006    0.000    0.006    0.000 {method 'cursor' of 'psycopg2.extensions.connection' objects}
      486    0.004    0.000    0.006    0.000 query.py:3190(setup_entity)
       88    0.001    0.000    0.006    0.000 strategies.py:448(_generate_lazy_clause)
     3225    0.005    0.000    0.006    0.000 strategies.py:141(setup_query)
      486    0.001    0.000    0.006    0.000 compiler.py:441(<genexpr>)
     8113    0.004    0.000    0.006    0.000 inspect.py:67(ismethod)
     3225    0.002    0.000    0.006    0.000 compiler.py:2722(format_label)
     8113    0.004    0.000    0.005    0.000 inspect.py:142(isfunction)
    10108    0.004    0.000    0.005    0.000 inspect.py:191(isframe)
      750    0.003    0.000    0.005    0.000 compiler.py:1149(_process_anon)
      486    0.005    0.000    0.005    0.000 query.py:3715(__init__)
      133    0.000    0.000    0.005    0.000 pool.py:388(_return_conn)
     4947    0.005    0.000    0.005    0.000 {method 'update' of 'dict' objects}
     4875    0.005    0.000    0.005    0.000 {hasattr}
      926    0.002    0.000    0.005    0.000 selectable.py:35(_interpret_as_from)
    11784    0.005    0.000    0.005    0.000 {method 'get' of 'dict' objects}
     1236    0.002    0.000    0.005    0.000 compiler.py:442(<genexpr>)
     1262    0.003    0.000    0.005    0.000 arrow.py:49(__init__)
       88    0.000    0.000    0.005    0.000 strategy_options.py:781(lazyload)
      133    0.000    0.000    0.005    0.000 pool.py:1030(_do_return_conn)
    29333    0.005    0.000    0.005    0.000 {len}
     1839    0.002    0.000    0.005    0.000 utf_8.py:15(decode)
       88    0.000    0.000    0.005    0.000 <string>:1(set_relationship_strategy)
     3225    0.004    0.000    0.005    0.000 selectable.py:3156(name_for_col)
      308    0.001    0.000    0.005    0.000 schema.py:1635(get_referent)
     1995    0.004    0.000    0.005    0.000 re.py:226(_compile)
     1463    0.003    0.000    0.005    0.000 posixpath.py:68(join)
       88    0.000    0.000    0.005    0.000 base.py:40(_generative)
     1323    0.003    0.000    0.005    0.000 query.py:416(_clone)
     1459    0.003    0.000    0.005    0.000 __init__.py:1345(isEnabledFor)
      133    0.001    0.000    0.004    0.000 queue.py:87(put)
     8113    0.003    0.000    0.004    0.000 inspect.py:209(iscode)
     1456    0.002    0.000    0.004    0.000 base.py:208(manager_of_class)
    20615    0.004    0.000    0.004    0.000 {method 'lower' of 'str' objects}
      752    0.002    0.000    0.004    0.000 base.py:74(__init__)
      574    0.002    0.000    0.004    0.000 path_registry.py:62(set)
      133    0.001    0.000    0.004    0.000 base.py:47(__init__)
      308    0.003    0.000    0.004    0.000 selectable.py:450(corresponding_column)
      133    0.000    0.000    0.004    0.000 <string>:1(and_)
      133    0.001    0.000    0.004    0.000 pool.py:1039(_do_get)
      132    0.001    0.000    0.004    0.000 elements.py:1183(_clone)
       88    0.000    0.000    0.004    0.000 strategy_options.py:190(set_relationship_strategy)
      619    0.002    0.000    0.004    0.000 langhelpers.py:1033(_next)
     1131    0.004    0.000    0.004    0.000 state.py:75(__init__)
     3225    0.004    0.000    0.004    0.000 compiler.py:271(__init__)
     1131    0.002    0.000    0.004    0.000 state.py:251(_cleanup)
      133    0.002    0.000    0.004    0.000 session.py:358(_prepare_impl)
      265    0.002    0.000    0.004    0.000 elements.py:1821(_from_objects)
     3225    0.003    0.000    0.004    0.000 compiler.py:1272(_add_to_result_map)
       44    0.000    0.000    0.004    0.000 attributes.py:1066(set_committed_value)
      264    0.002    0.000    0.004    0.000 elements.py:235(_clone)
      885    0.001    0.000    0.004    0.000 session.py:1970(flush)
      972    0.001    0.000    0.003    0.000 selectable.py:2438(<genexpr>)
      750    0.003    0.000    0.003    0.000 compiler.py:1155(bindparam_string)
      133    0.001    0.000    0.003    0.000 queue.py:130(get)
      486    0.003    0.000    0.003    0.000 elements.py:3665(_select_iterables)
      486    0.002    0.000    0.003    0.000 query.py:306(_bind_mapper)
      486    0.001    0.000    0.003    0.000 session.py:1279(_autoflush)
     1463    0.003    0.000    0.003    0.000 {posix.getcwd}
      707    0.001    0.000    0.003    0.000 __init__.py:1130(debug)
     3925    0.003    0.000    0.003    0.000 {method 'copy' of 'dict' objects}
     1995    0.002    0.000    0.003    0.000 <string>:8(__new__)
     1839    0.003    0.000    0.003    0.000 {_codecs.utf_8_decode}
     2522    0.003    0.000    0.003    0.000 attr.py:226(__bool__)
      486    0.003    0.000    0.003    0.000 query.py:3107(_adjust_for_single_inheritance)
     1018    0.002    0.000    0.003    0.000 session.py:2016(_is_clean)
     1151    0.002    0.000    0.003    0.000 base.py:89(__getattr__)
      528    0.002    0.000    0.003    0.000 {sorted}
     1414    0.001    0.000    0.003    0.000 elements.py:3765(_expression_literal_as_text)
      750    0.002    0.000    0.003    0.000 type_api.py:372(_cached_bind_processor)
      662    0.002    0.000    0.003    0.000 elements.py:3469(__new__)
     5852    0.003    0.000    0.003    0.000 {method 'startswith' of 'str' objects}
     3225    0.003    0.000    0.003    0.000 compiler.py:280(type)
     3753    0.003    0.000    0.003    0.000 elements.py:3292(_get_table)
       88    0.000    0.000    0.003    0.000 query.py:1090(options)
      265    0.001    0.000    0.003    0.000 elements.py:1967(self_group)
     1942    0.002    0.000    0.002    0.000 elements.py:698(self_group)
     1596    0.002    0.000    0.002    0.000 weakref.py:282(__init__)
      486    0.002    0.000    0.002    0.000 {method 'encode' of 'unicode' objects}
     1463    0.001    0.000    0.002    0.000 posixpath.py:59(isabs)
       88    0.000    0.000    0.002    0.000 <string>:1(_options)
     3225    0.001    0.000    0.002    0.000 elements.py:3839(_interpret_as_column_or_from)
      690    0.001    0.000    0.002    0.000 vendors.py:205(__init__)
      133    0.001    0.000    0.002    0.000 pool.py:764(_reset)
      396    0.001    0.000    0.002    0.000 annotation.py:45(__init__)
     1456    0.002    0.000    0.002    0.000 {method 'get' of 'dictproxy' objects}
      266    0.002    0.000    0.002    0.000 threading.py:146(acquire)
      971    0.002    0.000    0.002    0.000 elements.py:2754(_from_objects)
      486    0.001    0.000    0.002    0.000 result.py:637(_soft_close)
       88    0.001    0.000    0.002    0.000 strategy_options.py:110(_generate_path)
      133    0.000    0.000    0.002    0.000 base.py:534(begin)
      707    0.001    0.000    0.002    0.000 compiler.py:1788(visit_table)
      924    0.001    0.000    0.002    0.000 langhelpers.py:750(_reset)
     1900    0.001    0.000    0.002    0.000 elements.py:3769(_literal_as_text)
     1236    0.002    0.000    0.002    0.000 default.py:592(<genexpr>)
     1192    0.002    0.000    0.002    0.000 _weakrefset.py:70(__contains__)
     1459    0.002    0.000    0.002    0.000 __init__.py:1331(getEffectiveLevel)
     8420    0.002    0.000    0.002    0.000 {method 'add' of 'set' objects}
     1463    0.002    0.000    0.002    0.000 {method 'split' of 'str' objects}
      265    0.000    0.000    0.002    0.000 elements.py:1825(self_group)
      133    0.001    0.000    0.002    0.000 base.py:1595(__init__)
     5079    0.002    0.000    0.002    0.000 {method 'intersection' of 'set' objects}
      133    0.001    0.000    0.002    0.000 session.py:1082(expunge_all)
       88    0.001    0.000    0.002    0.000 query.py:1105(_options)
     1323    0.002    0.000    0.002    0.000 elements.py:3657(_expand_cloned)
     3990    0.002    0.000    0.002    0.000 {max}
      486    0.001    0.000    0.002    0.000 session.py:1142(get_bind)
     1131    0.002    0.000    0.002    0.000 {method 'issuperset' of 'frozenset' objects}
      750    0.002    0.000    0.002    0.000 {method 'split' of 'unicode' objects}
      530    0.001    0.000    0.002    0.000 type_api.py:424(coerce_compared_value)
     1262    0.001    0.000    0.002    0.000 util.py:37(isstr)
      220    0.001    0.000    0.002    0.000 query.py:1983(_prepare_right_side)
     1087    0.001    0.000    0.001    0.000 identity.py:190(_fast_discard)
      486    0.001    0.000    0.001    0.000 result.py:928(process_rows)
      133    0.001    0.000    0.001    0.000 weakref.py:98(__setitem__)
      220    0.001    0.000    0.001    0.000 selectable.py:1057(_hide_froms)
     1148    0.001    0.000    0.001    0.000 strategies.py:615(create_row_processor)
      486    0.001    0.000    0.001    0.000 query.py:2638(_select_args)
      266    0.001    0.000    0.001    0.000 threading.py:372(notify)
      486    0.001    0.000    0.001    0.000 default.py:692(should_autocommit)
     1131    0.001    0.000    0.001    0.000 <string>:1(set)
      133    0.001    0.000    0.001    0.000 base.py:359(_entity_descriptor)
      971    0.001    0.000    0.001    0.000 type_api.py:1137(to_instance)
     1995    0.001    0.000    0.001    0.000 linecache.py:33(getlines)
       41    0.000    0.000    0.001    0.000 collections.py:659(append_multiple_without_event)
      924    0.001    0.000    0.001    0.000 langhelpers.py:753(reset)
      220    0.001    0.000    0.001    0.000 selectable.py:1062(_from_objects)
     1131    0.001    0.000    0.001    0.000 identity.py:140(_add_unpresent)
      486    0.001    0.000    0.001    0.000 query.py:3180(__init__)
      619    0.001    0.000    0.001    0.000 query.py:289(_mapper_zero)
      751    0.001    0.000    0.001    0.000 query.py:228(_adapt_clause)
      752    0.001    0.000    0.001    0.000 session.py:190(_assert_active)
      220    0.001    0.000    0.001    0.000 elements.py:2742(__bool__)
      266    0.001    0.000    0.001    0.000 threading.py:186(release)
       44    0.000    0.000    0.001    0.000 attributes.py:976(_initialize_collection)
      486    0.001    0.000    0.001    0.000 {sqlalchemy.cutils._distill_params}
     1018    0.001    0.000    0.001    0.000 identity.py:53(check_modified)
      972    0.001    0.000    0.001    0.000 query.py:3262(_get_entity_clauses)
      265    0.001    0.000    0.001    0.000 elements.py:716(comparator)
      133    0.001    0.000    0.001    0.000 base.py:642(_begin_impl)
      486    0.001    0.000    0.001    0.000 path_registry.py:70(get)
       88    0.000    0.000    0.001    0.000 <string>:1(params)
      133    0.001    0.000    0.001    0.000 default.py:419(do_rollback)
      486    0.001    0.000    0.001    0.000 selectable.py:1695(__init__)
      396    0.001    0.000    0.001    0.000 annotation.py:31(__new__)
      885    0.001    0.000    0.001    0.000 {method 'acquire' of 'thread.lock' objects}
       88    0.001    0.000    0.001    0.000 state.py:565(_commit)
     1131    0.001    0.000    0.001    0.000 identity.py:145(get)
     4463    0.001    0.000    0.001    0.000 {method 'update' of 'set' objects}
      690    0.001    0.000    0.001    0.000 currency.py:219(__init__)
     1456    0.001    0.000    0.001    0.000 instrumentation.py:94(is_mapped)
      220    0.001    0.000    0.001    0.000 controller.py:57(_get_ident)
      398    0.001    0.000    0.001    0.000 _collections.py:787(coerce_generator_arg)
      132    0.001    0.000    0.001    0.000 relationships.py:1363(visit_bindparam)
       44    0.000    0.000    0.001    0.000 arrow.py:341(timestamp)
       44    0.000    0.000    0.001    0.000 vendors.py:408(__repr__)
     1639    0.001    0.000    0.001    0.000 {method 'endswith' of 'str' objects}
     2759    0.001    0.000    0.001    0.000 {method 'pop' of 'dict' objects}
      177    0.001    0.000    0.001    0.000 {method 'format' of 'str' objects}
       88    0.000    0.000    0.001    0.000 <string>:1(_adapt_all_clauses)
      690    0.001    0.000    0.001    0.000 collections.py:1071(append)
      971    0.001    0.000    0.001    0.000 query.py:389(_no_limit_offset)
      486    0.001    0.000    0.001    0.000 base.py:1220(_safe_close_cursor)
      133    0.001    0.000    0.001    0.000 base.py:116(_join)
      690    0.001    0.000    0.001    0.000 vendors.py:321(add_price)
      971    0.001    0.000    0.001    0.000 query.py:381(_no_statement_condition)
     1812    0.001    0.000    0.001    0.000 {method 'values' of 'dict' objects}
      133    0.000    0.000    0.001    0.000 query.py:300(_joinpoint_zero)
       88    0.000    0.000    0.001    0.000 strategy_options.py:216(_set_path_strategy)
      486    0.001    0.000    0.001    0.000 _collections.py:394(__iter__)
     3310    0.001    0.000    0.001    0.000 mapper.py:642(mapper)
       88    0.000    0.000    0.001    0.000 path_registry.py:250(entity_path)
     1806    0.001    0.000    0.001    0.000 mapper.py:1965(selectable)
      486    0.001    0.000    0.001    0.000 {zip}
      443    0.001    0.000    0.001    0.000 attr.py:214(__call__)
       88    0.000    0.000    0.001    0.000 strategy_options.py:94(process_query)
      968    0.001    0.000    0.001    0.000 annotation.py:90(__hash__)
      266    0.000    0.000    0.001    0.000 pool.py:854(__getattr__)
     1995    0.001    0.000    0.001    0.000 {min}
     4112    0.001    0.000    0.001    0.000 {id}
      133    0.000    0.000    0.001    0.000 log.py:54(_should_log_debug)
      220    0.000    0.000    0.001    0.000 query.py:3245(corresponds_to)
       88    0.000    0.000    0.001    0.000 <string>:1(_with_invoke_all_eagers)
      486    0.001    0.000    0.001    0.000 mapper.py:1890(_with_polymorphic_mappers)
     3225    0.001    0.000    0.001    0.000 elements.py:758(_select_iterable)
     3225    0.001    0.000    0.001    0.000 elements.py:3521(apply_map)
      266    0.001    0.000    0.001    0.000 identity.py:14(__init__)
       88    0.000    0.000    0.001    0.000 strategy_options.py:86(_generate)
       44    0.000    0.000    0.001    0.000 instrumentation.py:290(initialize_collection)
       88    0.000    0.000    0.001    0.000 path_registry.py:254(__getitem__)
      486    0.001    0.000    0.001    0.000 result.py:632(_cursor_description)
      133    0.000    0.000    0.001    0.000 log.py:57(_should_log_info)
      750    0.001    0.000    0.001    0.000 {_codecs.utf_8_encode}
      133    0.001    0.000    0.001    0.000 pool.py:559(get_connection)
       44    0.000    0.000    0.001    0.000 attributes.py:629(set_committed_value)
       88    0.000    0.000    0.000    0.000 strategy_options.py:185(_coerce_strat)
       88    0.000    0.000    0.000    0.000 strategy_options.py:100(_process)
     1151    0.000    0.000    0.000    0.000 {setattr}
      444    0.000    0.000    0.000    0.000 {method 'remove' of 'list' objects}
      133    0.000    0.000    0.000    0.000 contextlib.py:82(helper)
      220    0.000    0.000    0.000    0.000 selectable.py:874(<lambda>)
      486    0.000    0.000    0.000    0.000 {method 'pop' of 'list' objects}
      133    0.000    0.000    0.000    0.000 weakref.py:267(__init__)
      133    0.000    0.000    0.000    0.000 session.py:297(_remove_snapshot)
      220    0.000    0.000    0.000    0.000 elements.py:269(_cloned_set)
       88    0.000    0.000    0.000    0.000 _collections.py:805(has_intersection)
       88    0.000    0.000    0.000    0.000 query.py:1254(params)
      486    0.000    0.000    0.000    0.000 base.py:1472(get_select_precolumns)
       44    0.000    0.000    0.000    0.000 {method 'utctimetuple' of 'datetime.datetime' objects}
      619    0.000    0.000    0.000    0.000 {next}
      836    0.000    0.000    0.000    0.000 {hash}
     1147    0.000    0.000    0.000    0.000 selectable.py:1418(_from_objects)
      133    0.000    0.000    0.000    0.000 {range}
      176    0.000    0.000    0.000    0.000 _collections.py:846(flatten_iterator)
      885    0.000    0.000    0.000    0.000 {method 'release' of 'thread.lock' objects}
       88    0.000    0.000    0.000    0.000 session.py:37(_state_session)
      308    0.000    0.000    0.000    0.000 base.py:590(contains_column)
      798    0.000    0.000    0.000    0.000 base.py:301(connection)
      486    0.000    0.000    0.000    0.000 _collections.py:724(__init__)
      133    0.000    0.000    0.000    0.000 weakref.py:262(__new__)
     1463    0.000    0.000    0.000    0.000 posixpath.py:51(normcase)
      176    0.000    0.000    0.000    0.000 interfaces.py:486(_get_strategy)
      798    0.000    0.000    0.000    0.000 threading.py:63(_note)
      266    0.000    0.000    0.000    0.000 threading.py:237(_is_owned)
       88    0.000    0.000    0.000    0.000 strategy_options.py:80(__init__)
      133    0.000    0.000    0.000    0.000 identity.py:184(all_states)
       88    0.000    0.000    0.000    0.000 base.py:314(_generate)
       88    0.000    0.000    0.000    0.000 path_registry.py:283(__getitem__)
       88    0.000    0.000    0.000    0.000 path_registry.py:267(__init__)
      971    0.000    0.000    0.000    0.000 {callable}
      532    0.000    0.000    0.000    0.000 session.py:225(_is_transaction_boundary)
      133    0.000    0.000    0.000    0.000 queue.py:194(_put)
      265    0.000    0.000    0.000    0.000 type_api.py:53(__init__)
      619    0.000    0.000    0.000    0.000 query.py:286(_entity_zero)
      133    0.000    0.000    0.000    0.000 queue.py:198(_get)
      798    0.000    0.000    0.000    0.000 {thread.get_ident}
      220    0.000    0.000    0.000    0.000 query.py:2112(_reset_joinpoint)
      133    0.000    0.000    0.000    0.000 queue.py:190(_full)
      133    0.000    0.000    0.000    0.000 session.py:239(_iterate_parents)
       44    0.000    0.000    0.000    0.000 calendar.py:610(timegm)
      690    0.000    0.000    0.000    0.000 vendors.py:488(currency)
      354    0.000    0.000    0.000    0.000 {method 'items' of 'dict' objects}
      574    0.000    0.000    0.000    0.000 query.py:3746(<genexpr>)
      486    0.000    0.000    0.000    0.000 {method 'union' of 'set' objects}
     1148    0.000    0.000    0.000    0.000 interfaces.py:617(setup_query)
      486    0.000    0.000    0.000    0.000 compiler.py:215(__str__)
      133    0.000    0.000    0.000    0.000 base.py:255(__init__)
      486    0.000    0.000    0.000    0.000 _collections.py:155(union)
      706    0.000    0.000    0.000    0.000 selectable.py:170(selectable)
      486    0.000    0.000    0.000    0.000 {method 'keys' of 'dict' objects}
      532    0.000    0.000    0.000    0.000 langhelpers.py:825(<lambda>)
       44    0.000    0.000    0.000    0.000 instrumentation.py:302(get_impl)
      123    0.000    0.000    0.000    0.000 weakref.py:48(remove)
      532    0.000    0.000    0.000    0.000 {method 'setdefault' of 'dict' objects}
      690    0.000    0.000    0.000    0.000 collections.py:1038(__set)
      133    0.000    0.000    0.000    0.000 pool.py:677(__init__)
      486    0.000    0.000    0.000    0.000 default.py:750(post_exec)
      133    0.000    0.000    0.000    0.000 base.py:1532(__init__)
      132    0.000    0.000    0.000    0.000 interfaces.py:362(adapter)
      528    0.000    0.000    0.000    0.000 elements.py:378(_copy_internals)
      486    0.000    0.000    0.000    0.000 default.py:747(pre_exec)
      486    0.000    0.000    0.000    0.000 {iter}
       44    0.000    0.000    0.000    0.000 state.py:277(dict)
      133    0.000    0.000    0.000    0.000 {method 'rollback' of 'psycopg2.extensions.connection' objects}
       88    0.000    0.000    0.000    0.000 selectable.py:857(<lambda>)
       44    0.000    0.000    0.000    0.000 collections.py:578(__init__)
      486    0.000    0.000    0.000    0.000 {method 'close' of 'psycopg2.extensions.cursor' objects}
      220    0.000    0.000    0.000    0.000 mapper.py:2278(common_parent)
      220    0.000    0.000    0.000    0.000 query.py:3241(entity_zero_or_selectable)
      133    0.000    0.000    0.000    0.000 {sys._getframe}
      133    0.000    0.000    0.000    0.000 base.py:1537(_parent)
      132    0.000    0.000    0.000    0.000 relationships.py:1384(_get_attr_w_warn_on_none)
      133    0.000    0.000    0.000    0.000 {method 'discard' of 'set' objects}
      133    0.000    0.000    0.000    0.000 queue.py:186(_empty)
       88    0.000    0.000    0.000    0.000 query.py:224(_adapt_all_clauses)
       88    0.000    0.000    0.000    0.000 weakref.py:69(__getitem__)
       88    0.000    0.000    0.000    0.000 path_registry.py:77(__len__)
       88    0.000    0.000    0.000    0.000 {method 'intersection' of 'frozenset' objects}
       88    0.000    0.000    0.000    0.000 {method 'difference_update' of 'set' objects}
      220    0.000    0.000    0.000    0.000 {method 'strip' of 'str' objects}
      133    0.000    0.000    0.000    0.000 contextlib.py:12(__init__)
      133    0.000    0.000    0.000    0.000 interfaces.py:120(create_row_processor)
      133    0.000    0.000    0.000    0.000 interfaces.py:111(setup)
      220    0.000    0.000    0.000    0.000 elements.py:405(self_group)
      133    0.000    0.000    0.000    0.000 default.py:416(do_begin)
      133    0.000    0.000    0.000    0.000 {method 'popleft' of 'collections.deque' objects}
      132    0.000    0.000    0.000    0.000 base.py:32(_clone)
       88    0.000    0.000    0.000    0.000 query.py:906(_with_invoke_all_eagers)
      133    0.000    0.000    0.000    0.000 {method 'append' of 'collections.deque' objects}
       44    0.000    0.000    0.000    0.000 vendors.py:324(vpno)
       44    0.000    0.000    0.000    0.000 tz.py:47(utcoffset)
       44    0.000    0.000    0.000    0.000 state.py:244(_detach)
       44    0.000    0.000    0.000    0.000 {time.time}
       44    0.000    0.000    0.000    0.000 state.py:225(_pending_mutations)
       44    0.000    0.000    0.000    0.000 {method 'toordinal' of 'datetime.date' objects}
        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}