run profiling to determine loading times
See original GitHub issueWe need to optimize the time it takes ploomber to load when running
ploomber
or ploomber --help
We need to run profiling and see the different load times of the python packages and how we can optimize it to get a faster user response.
Issue Analytics
- State:
- Created 2 years ago
- Comments:5 (2 by maintainers)
Top Results From Across the Web
Powerful and Free – Application Profiler - ControlUp
With the Application Load Time Profiler, you can measure application load time in real time, as well as analyze historical load times using ......
Read more >Profiling your Website's Performance | by Tom Grant - Medium
To find the load time of a page the following JavaScript can be placed at the top of the site's header. It uses...
Read more >Page loading profiling tools - Wim Leers
It measures how long a page takes to load and it can load a page multiple times, to calculate the average and mean...
Read more >Profile Loading Times - Unity Forum
There's no tool that will let you profile the loading times. If 10s is way too long, then load a smaller first scene...
Read more >Profiling to improve DMN file's loading time - KIE Community
One of my passions is to run profiling tools to find places in the code where performance improvements can be made.
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
this output looks like C-level modules, we’d like more general information. this looks useful: https://pypi.org/project/import-profiler/
Using cProfile, I got the following information on top 10 calls taking most time. ncalls tottime percall cumtime percall filename:lineno(function) 223 0.008 0.000 14.722 0.066 init.py:1(<module>) 2376/1 0.029 0.000 3.715 3.715 {built-in method builtins.exec} 2339/1 0.022 0.000 3.715 3.715 <frozen importlib._bootstrap>:986(_find_and_load) 2331/1 0.013 0.000 3.715 3.715 <frozen importlib._bootstrap>:956(_find_and_load_unlocked) 2218/1 0.013 0.000 3.714 3.714 <frozen importlib._bootstrap>:650(_load_unlocked) 2085/1 0.009 0.000 3.714 3.714 <frozen importlib._bootstrap_external>:777(exec_module) 2755/1 0.003 0.000 3.714 3.714 <frozen importlib._bootstrap>:211(_call_with_frames_removed) 3 0.000 0.000 3.672 1.224 dag.py:1(<module>) 790/48 0.003 0.000 3.482 0.073 {built-in method builtins.import} 2423/890 0.005 0.000 1.958 0.002 <frozen importlib._bootstrap>:1017(_handle_fromlist)
On using an import filter, it gives the following.
ncalls tottime percall cumtime percall filename:lineno(function) 2339/1 0.022 0.000 3.715 3.715 <frozen importlib._bootstrap>:986(_find_and_load) 2331/1 0.013 0.000 3.715 3.715 <frozen importlib._bootstrap>:956(_find_and_load_unlocked) 2218/1 0.013 0.000 3.714 3.714 <frozen importlib._bootstrap>:650(_load_unlocked) 2085/1 0.009 0.000 3.714 3.714 <frozen importlib._bootstrap_external>:777(exec_module) 2755/1 0.003 0.000 3.714 3.714 <frozen importlib._bootstrap>:211(_call_with_frames_removed) 790/48 0.003 0.000 3.482 0.073 {built-in method builtins.import} 2423/890 0.005 0.000 1.958 0.002 <frozen importlib._bootstrap>:1017(_handle_fromlist)
Does this make sense?