Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Targets for jitting #49

Closed
5 tasks
ericbarefoot opened this issue Jun 3, 2020 · 2 comments
Closed
5 tasks

Targets for jitting #49

ericbarefoot opened this issue Jun 3, 2020 · 2 comments
Labels
enhancement New feature or request

Comments

@ericbarefoot
Copy link
Collaborator

ericbarefoot commented Jun 3, 2020

To be more specific than #1, I reprofiled the code using #36. I found that after increasing the number of water iterations (see #48), a few new targets for jitting seem promising.

  • self.free_surf() which is called every iteration to calculate where the free surface is based on the tracks of the parcels.
  • self.finalize_water_iteration() which smooths the surface, among other things.
  • this list comprehension which picks new cells. Some parts are still not jitted, and maybe the whole looping process should be moved into a jitted function.
  • self.mud_route() and self.sand_route() Some parts of these have been jitted, but there's still quite a lot of good optimization that could be done.
  • .flatten() takes up a weirdly long time. Maybe arrays should just be configured to be flat 1D vectors from the get go, so that we don't have to do this reshaping all the time.

Detailed profile:

>>> profile.run('delta.update()', sort = 'cumtime')

        754671 function calls (754615 primitive calls) in 11.917 seconds

   Ordered by: cumulative time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.000    0.000   11.917   11.917 profile:0(delta.update())
        1    0.000    0.000   11.916   11.916 :0(exec)
        1    0.000    0.000   11.916   11.916 <string>:1(<module>)
        1    0.000    0.000   11.916   11.916 deltaRCM_driver.py:48(update)
        1    0.002    0.002   11.914   11.914 deltaRCM_tools.py:29(run_one_timestep)
        5    5.032    1.006    5.204    1.041 water_tools.py:106(free_surf)
        5    0.103    0.021    3.604    0.721 water_tools.py:43(run_water_iteration)
        1    0.000    0.000    2.660    2.660 sed_tools.py:28(sed_route)
     1000    1.067    0.001    2.629    0.003 sed_tools.py:176(sed_parcel)
      120    0.629    0.005    2.452    0.020 water_tools.py:70(<listcomp>)
   182988    1.241    0.000    1.823    0.000 water_tools.py:222(get_new_cell)
        1    0.003    0.003    1.407    1.407 sed_tools.py:265(mud_route)
        1    0.004    0.004    1.252    1.252 sed_tools.py:222(sand_route)
   212481    0.684    0.000    0.684    0.000 shared_tools.py:83(random_pick)
   135198    0.571    0.000    0.571    0.000 :0(flatten)
        5    0.000    0.000    0.439    0.088 water_tools.py:173(finalize_water_iteration)
        5    0.105    0.021    0.437    0.087 water_tools.py:251(update_water)
     9237    0.162    0.000    0.422    0.000 sed_tools.py:140(mud_dep_ero)
      120    0.421    0.004    0.421    0.004 shared_tools.py:118(check_for_loops)
17147/17091    0.109    0.000    0.353    0.000 :0(implement_array_function)
     8011    0.257    0.000    0.333    0.000 sed_tools.py:43(deposit)
     6926    0.041    0.000    0.323    0.000 <__array_function__ internals>:2(sum)
    22493    0.281    0.000    0.281    0.000 shared_tools.py:172(get_weight_at_cell)
     9256    0.124    0.000    0.263    0.000 sed_tools.py:102(sand_dep_ero)
        5    0.119    0.024    0.253    0.051 water_tools.py:206(get_water_weight_array)
     6926    0.053    0.000    0.238    0.000 fromnumeric.py:2092(sum)
        5    0.140    0.028    0.234    0.047 water_tools.py:48(<listcomp>)
     6926    0.067    0.000    0.171    0.000 fromnumeric.py:73(_wrapreduction)
    10120    0.063    0.000    0.159    0.000 <__array_function__ internals>:2(unravel_index)
    11125    0.122    0.000    0.122    0.000 :0(sum)
     7166    0.075    0.000    0.075    0.000 :0(reduce)
    18613    0.069    0.000    0.069    0.000 shared_tools.py:50(get_steps)
     9001    0.061    0.000    0.061    0.000 sed_tools.py:88(update_u)
    18002    0.050    0.000    0.050    0.000 :0(min)
      990    0.031    0.000    0.040    0.000 sed_tools.py:65(erode)
     9256    0.033    0.000    0.033    0.000 shared_tools.py:33(partition_sand)
      200    0.024    0.000    0.024    0.000 :0(array)
      120    0.013    0.000    0.023    0.000 water_tools.py:226(update_Q)
     9822    0.023    0.000    0.023    0.000 :0(len)
    10120    0.018    0.000    0.018    0.000 multiarray.py:990(unravel_index)
     6926    0.017    0.000    0.017    0.000 fromnumeric.py:74(<dictcomp>)
     6932    0.015    0.000    0.015    0.000 :0(isinstance)
     6926    0.014    0.000    0.014    0.000 :0(items)
     6926    0.012    0.000    0.012    0.000 fromnumeric.py:2087(_sum_dispatcher)
      120    0.012    0.000    0.012    0.000 water_tools.py:241(check_for_boundary)
        1    0.007    0.007    0.012    0.012 sed_tools.py:273(<listcomp>)
        1    0.006    0.006    0.011    0.011 sed_tools.py:230(<listcomp>)
        6    0.005    0.001    0.010    0.002 water_tools.py:307(flooding_correction)
      120    0.009    0.000    0.009    0.000 shared_tools.py:157(calculate_new_ind)
       21    0.000    0.000    0.007    0.000 <__array_function__ internals>:2(pad)
       21    0.001    0.000    0.006    0.000 arraypad.py:534(pad)
      480    0.006    0.000    0.006    0.000 shared_tools.py:63(update_dirQfield)
        5    0.001    0.000    0.005    0.001 water_tools.py:26(init_water_iteration)
      240    0.001    0.000    0.004    0.000 :0(any)
      720    0.003    0.000    0.003    0.000 :0(reshape)
      240    0.001    0.000    0.003    0.000 _methods.py:44(_any)
      240    0.002    0.000    0.002    0.000 shared_tools.py:73(update_absQfield)
       21    0.000    0.000    0.002    0.000 arraypad.py:459(_as_pairs)
        1    0.000    0.000    0.002    0.002 deltaRCM_tools.py:53(finalize_timestep)
        1    0.000    0.000    0.001    0.001 sed_tools.py:245(topo_diffusion)
       21    0.001    0.000    0.001    0.000 arraypad.py:88(_pad_simple)
        6    0.000    0.000    0.001    0.000 filters.py:652(convolve)
        6    0.000    0.000    0.001    0.000 filters.py:596(_correlate_or_convolve)
        1    0.001    0.001    0.001    0.001 :0(setprofile)
       21    0.000    0.000    0.001    0.000 <__array_function__ internals>:2(round_)
        5    0.001    0.000    0.001    0.000 water_tools.py:393(update_flow_field)
       42    0.001    0.000    0.001    0.000 arraypad.py:131(_set_pad_area)
      114    0.001    0.000    0.001    0.000 :0(max)
       21    0.000    0.000    0.001    0.000 fromnumeric.py:3590(round_)
       42    0.000    0.000    0.001    0.000 arraypad.py:156(_get_edges)
       12    0.000    0.000    0.001    0.000 water_tools.py:352(build_weight_array)
       21    0.000    0.000    0.001    0.000 <__array_function__ internals>:2(around)
        6    0.000    0.000    0.001    0.000 water_tools.py:341(get_wet_mask_nh)
        5    0.000    0.000    0.000    0.000 water_tools.py:428(update_velocity_field)
      120    0.000    0.000    0.000    0.000 water_tools.py:187(check_size_of_indices_matrix)
        7    0.000    0.000    0.000    0.000 <__array_function__ internals>:2(ones_like)
        6    0.000    0.000    0.000    0.000 _ni_support.py:71(_get_output)
      168    0.000    0.000    0.000    0.000 arraypad.py:35(_slice_at_axis)
       54    0.000    0.000    0.000    0.000 _asarray.py:16(asarray)
       21    0.000    0.000    0.000    0.000 fromnumeric.py:3130(around)
        7    0.000    0.000    0.000    0.000 numeric.py:216(ones_like)
       28    0.000    0.000    0.000    0.000 :0(zeros)
        6    0.000    0.000    0.000    0.000 _dtype.py:333(_name_get)
       21    0.000    0.000    0.000    0.000 fromnumeric.py:55(_wrapfunc)
       63    0.000    0.000    0.000    0.000 arraypad.py:112(<genexpr>)
       63    0.000    0.000    0.000    0.000 arraypad.py:123(<genexpr>)
       21    0.000    0.000    0.000    0.000 :0(astype)
       12    0.000    0.000    0.000    0.000 <__array_function__ internals>:2(copyto)
       42    0.000    0.000    0.000    0.000 arraypad.py:60(_view_roi)
        6    0.000    0.000    0.000    0.000 _dtype.py:319(_name_includes_bit_suffix)
        5    0.000    0.000    0.000    0.000 numeric.py:159(ones)
       26    0.000    0.000    0.000    0.000 :0(empty)
        7    0.000    0.000    0.000    0.000 <__array_function__ internals>:2(empty_like)
       21    0.000    0.000    0.000    0.000 :0(callable)
        6    0.000    0.000    0.000    0.000 numerictypes.py:365(issubdtype)
        6    0.000    0.000    0.000    0.000 <__array_function__ internals>:2(where)
        6    0.000    0.000    0.000    0.000 :0(correlate)
        6    0.000    0.000    0.000    0.000 <__array_function__ internals>:2(iscomplexobj)
       21    0.000    0.000    0.000    0.000 :0(ravel)
       21    0.000    0.000    0.000    0.000 :0(round)
       12    0.000    0.000    0.000    0.000 numerictypes.py:293(issubclass_)
       42    0.000    0.000    0.000    0.000 fromnumeric.py:3126(_around_dispatcher)
        6    0.000    0.000    0.000    0.000 _ni_support.py:55(_normalize_sequence)
       30    0.000    0.000    0.000    0.000 :0(issubclass)
       21    0.000    0.000    0.000    0.000 :0(getattr)
       21    0.000    0.000    0.000    0.000 arraypad.py:526(_pad_dispatcher)
        6    0.000    0.000    0.000    0.000 type_check.py:280(iscomplexobj)
        6    0.000    0.000    0.000    0.000 :0(copy)
       12    0.000    0.000    0.000    0.000 multiarray.py:1043(copyto)
       12    0.000    0.000    0.000    0.000 filters.py:50(_invalid_origin)
        6    0.000    0.000    0.000    0.000 :0(format)
        7    0.000    0.000    0.000    0.000 multiarray.py:77(empty_like)
        6    0.000    0.000    0.000    0.000 filters.py:603(<listcomp>)
        7    0.000    0.000    0.000    0.000 numeric.py:212(_ones_like_dispatcher)
        6    0.000    0.000    0.000    0.000 multiarray.py:312(where)
        6    0.000    0.000    0.000    0.000 _dtype.py:36(_kind_name)
        6    0.000    0.000    0.000    0.000 _ni_support.py:38(_extend_mode_to_code)
        6    0.000    0.000    0.000    0.000 :0(hasattr)
        6    0.000    0.000    0.000    0.000 type_check.py:207(_is_type_dispatcher)
        1    0.000    0.000    0.000    0.000 deltaRCM_tools.py:85(record_stratigraphy)
        1    0.000    0.000    0.000    0.000 deltaRCM_tools.py:151(apply_subsidence)
        1    0.000    0.000    0.000    0.000 deltaRCM_tools.py:167(output_data)
        1    0.000    0.000    0.000    0.000 deltaRCM_driver.py:78(time_step)
        0    0.000             0.000          profile:0(profiler)
@amoodie
Copy link
Member

amoodie commented Aug 27, 2020

Here's an updated profile from a longer run (10 full timesteps on a domain sized for a real simulation).

I am working on jitting several of these targets now.

         176958712 function calls (176948100 primitive calls) in 551.757 seconds

   Ordered by: cumulative time
   List reduced from 1504 to 100 due to restriction <100>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.000    0.000  551.757  551.757 {built-in method builtins.exec}
        1    0.000    0.000  551.757  551.757 <string>:1(<module>)
        1    0.000    0.000  551.757  551.757 profiler.py:12(_run_for)
       10    0.000    0.000  551.757   55.176 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/model.py:73(update)
       10    0.003    0.000  549.226   54.923 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/deltaRCM_tools.py:20(run_one_timestep)
       10    0.001    0.000  478.641   47.864 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/sed_tools.py:13(sed_route)
    20000  203.892    0.010  478.391    0.024 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/sed_tools.py:182(sed_parcel)
       10    0.032    0.003  376.247   37.625 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/sed_tools.py:277(mud_route)
  8166945   66.946    0.000  179.565    0.000 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/sed_tools.py:147(mud_dep_ero)
  7801696   89.357    0.000  109.856    0.000 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/sed_tools.py:31(deposit)
       10    0.026    0.003  102.206   10.221 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/sed_tools.py:232(sand_route)
 12935852   41.493    0.000   41.493    0.000 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/shared_tools.py:175(get_weight_at_cell)
       10    0.001    0.000   39.310    3.931 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/water_tools.py:151(finalize_water_iteration)
       10   17.592    1.759   39.287    3.929 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/water_tools.py:229(update_water)
 38811590   28.253    0.000   28.253    0.000 {method 'ravel' of 'numpy.ndarray' objects}
  4268020    1.999    0.000   21.659    0.000 <__array_function__ internals>:2(sum)
       10    0.904    0.090   20.136    2.014 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/water_tools.py:28(run_water_iteration)
4295549/4294555    2.011    0.000   19.444    0.000 {built-in method numpy.core._multiarray_umath.implement_array_function}
  7836892   17.895    0.000   17.895    0.000 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/sed_tools.py:94(update_u)
  4268020    3.348    0.000   17.397    0.000 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/numpy/core/fromnumeric.py:2105(sum)
  4269709    3.505    0.000   13.625    0.000 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/numpy/core/fromnumeric.py:70(_wrapreduction)
  4318907   10.650    0.000   11.984    0.000 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/sed_tools.py:110(sand_dep_ero)
       10   11.031    1.103   11.118    1.112 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/water_tools.py:85(free_surf)
  4276833    8.537    0.000    8.537    0.000 {method 'reduce' of 'numpy.ufunc' objects}
 14576859    7.815    0.000    7.815    0.000 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/shared_tools.py:88(random_pick)
     1801    7.461    0.004    7.461    0.004 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/shared_tools.py:121(check_for_loops)
 15673868    6.274    0.000    6.274    0.000 {built-in method builtins.min}
 12487653    5.171    0.000    5.171    0.000 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/shared_tools.py:58(get_steps)
     1801    1.504    0.001    4.860    0.003 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/water_tools.py:55(<listcomp>)
       10    2.795    0.280    4.497    0.450 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/water_tools.py:184(get_water_weight_array)
  2091007    2.607    0.000    3.357    0.000 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/water_tools.py:200(get_new_cell)
        3    0.001    0.000    2.476    0.825 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/deltaRCM_tools.py:212(output_data)
  4318907    2.092    0.000    2.092    0.000 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/shared_tools.py:42(partition_sand)
        3    0.000    0.000    1.625    0.542 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/deltaRCM_tools.py:372(make_figure)
        6    0.000    0.000    1.466    0.244 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/__init__.py:1435(inner)
        3    0.002    0.001    1.460    0.487 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/axes/_axes.py:5653(pcolor)
        3    0.000    0.000    1.444    0.481 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/collections.py:1103(__init__)
        3    0.000    0.000    1.443    0.481 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/collections.py:1128(set_verts)
        3    0.095    0.032    1.437    0.479 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/collections.py:1160(<listcomp>)
     1801    1.365    0.001    1.432    0.001 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/water_tools.py:204(update_Q)
   135264    0.316    0.000    1.346    0.000 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/path.py:98(__init__)
  4269709    1.257    0.000    1.257    0.000 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/numpy/core/fromnumeric.py:71(<dictcomp>)
 3177/855    0.006    0.000    0.867    0.001 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/cbook/deprecation.py:384(wrapper)
        3    0.000    0.000    0.846    0.282 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/deltaRCM_tools.py:397(save_figure)
        3    0.000    0.000    0.844    0.281 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/figure.py:2169(savefig)
        3    0.000    0.000    0.844    0.281 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/backends/backend_qt5agg.py:80(print_figure)
        6    0.000    0.000    0.801    0.133 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/backends/backend_agg.py:400(draw)
    900/6    0.002    0.000    0.799    0.133 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/artist.py:33(draw_wrapper)
        6    0.000    0.000    0.799    0.133 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/figure.py:1819(draw)
     18/6    0.000    0.000    0.793    0.132 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/image.py:113(_draw_list_compositing_images)
       12    0.000    0.000    0.793    0.066 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/axes/_base.py:2666(draw)
  4325937    0.598    0.000    0.598    0.000 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/model.py:147(dt)
    35196    0.428    0.000    0.532    0.000 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/sed_tools.py:70(erode)
     1853    0.513    0.000    0.513    0.000 {built-in method builtins.sum}
        6    0.000    0.000    0.509    0.085 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/collections.py:928(draw)
        6    0.000    0.000    0.508    0.085 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/collections.py:340(draw)
        6    0.000    0.000    0.504    0.084 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/backends/backend_agg.py:164(draw_path_collection)
        6    0.408    0.068    0.504    0.084 {method 'draw_path_collection' of 'matplotlib.backends._backend_agg.RendererAgg' objects}
        3    0.000    0.000    0.501    0.167 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/backend_bases.py:2083(print_figure)
        3    0.000    0.000    0.500    0.167 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/backend_bases.py:1600(wrapper)
        3    0.000    0.000    0.500    0.167 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/backends/backend_agg.py:460(print_png)
   280154    0.442    0.000    0.442    0.000 {built-in method numpy.array}
  4298526    0.439    0.000    0.440    0.000 {built-in method builtins.isinstance}
   135264    0.255    0.000    0.416    0.000 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/cbook/__init__.py:2260(_check_shape)
  4268020    0.408    0.000    0.408    0.000 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/numpy/core/fromnumeric.py:2100(_sum_dispatcher)
  4422817    0.355    0.000    0.355    0.000 {method 'items' of 'dict' objects}
   274162    0.044    0.000    0.291    0.000 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/numpy/core/_asarray.py:14(asarray)
   135873    0.063    0.000    0.266    0.000 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/cbook/__init__.py:1281(_to_unmasked_float_array)
       24    0.001    0.000    0.255    0.011 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/axis.py:1156(draw)
   135264    0.114    0.000    0.233    0.000 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/path.py:193(_update_values)
       10    0.032    0.003    0.185    0.018 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/sed_tools.py:254(topo_diffusion)
    21819    0.017    0.000    0.156    0.000 <__array_function__ internals>:2(unravel_index)
      300    0.000    0.000    0.153    0.001 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/scipy/ndimage/filters.py:699(convolve)
      300    0.004    0.000    0.153    0.001 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/scipy/ndimage/filters.py:596(_correlate_or_convolve)
      300    0.138    0.000    0.138    0.000 {built-in method scipy.ndimage._nd_image.correlate}
   139494    0.067    0.000    0.130    0.000 {built-in method builtins.any}
        6    0.000    0.000    0.121    0.020 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/figure.py:1254(add_subplot)
        6    0.000    0.000    0.120    0.020 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/axes/_subplots.py:18(__init__)
        6    0.000    0.000    0.118    0.020 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/axes/_base.py:434(__init__)
   289248    0.089    0.000    0.118    0.000 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/__init__.py:686(__getitem__)
       48    0.002    0.000    0.112    0.002 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/axis.py:1016(_update_ticks)
     1801    0.105    0.000    0.105    0.000 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/water_tools.py:219(check_for_boundary)
     15/6    0.000    0.000    0.097    0.016 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/cbook/deprecation.py:439(wrapper)
        6    0.000    0.000    0.087    0.014 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/axes/_base.py:1043(cla)
        3    0.000    0.000    0.083    0.028 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/figure.py:2318(colorbar)
 1026/981    0.001    0.000    0.081    0.000 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/artist.py:1086(set)
       20    0.033    0.002    0.078    0.004 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/water_tools.py:284(flooding_correction)
      114    0.001    0.000    0.077    0.001 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/axis.py:283(draw)
     1801    0.076    0.000    0.076    0.000 /home/mass/Dropbox/software/stratigraphy/pyDeltaRCM/pyDeltaRCM/shared_tools.py:160(calculate_new_ind)
        3    0.000    0.000    0.076    0.025 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/pyplot.py:1140(subplots)
       63    0.000    0.000    0.072    0.001 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/axis.py:815(set_tick_params)
       51    0.000    0.000    0.070    0.001 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/axis.py:1375(get_major_ticks)
       48    0.000    0.000    0.066    0.001 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/axis.py:2298(_get_tick)
       48    0.001    0.000    0.066    0.001 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/axis.py:489(__init__)
        3    0.000    0.000    0.062    0.021 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/colorbar.py:1535(make_axes_gridspec)
        3    0.000    0.000    0.061    0.020 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/figure.py:1415(subplots)
        3    0.000    0.000    0.061    0.020 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/gridspec.py:244(subplots)
   405792    0.061    0.000    0.061    0.000 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/cbook/__init__.py:2280(<genexpr>)
       81    0.003    0.000    0.061    0.001 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/axis.py:56(__init__)
      264    0.003    0.000    0.061    0.000 /opt/anaconda3/envs/deltarcm/lib/python3.8/site-packages/matplotlib/text.py:861(get_window_extent)

@amoodie amoodie mentioned this issue Aug 28, 2020
2 tasks
@amoodie
Copy link
Member

amoodie commented Feb 11, 2021

This is really outdated. If someone is interested in reevaluating the speed after #133 is merged, that could be helpful, but this issue is not.

@amoodie amoodie closed this as completed Feb 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants