-
Notifications
You must be signed in to change notification settings - Fork 6
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
Episodes: Profiling Intro/Functions/Lines/Conclusion #5
Conversation
Thank you!Thank you for your pull request 😃 🤖 This automated message can help you check the rendered files in your submission for clarity. If you have any questions, please feel free to open an issue in {sandpaper}. If you have files that automatically render output (e.g. R Markdown), then you should check for the following:
Rendered Changes🔍 Inspect the changes: https://github.com/RSE-Sheffield/pando-python/compare/md-outputs..md-outputs-PR-5 The following changes were observed in the rendered markdown documents:
What does this mean?If you have source files that require output and figures to be generated (e.g. R Markdown), then it is important to make sure the generated figures and output are reproducible. This output provides a way for you to inspect the output in a diff-friendly manner so that it's easy to see the changes that occur due to new software versions or randomisation. ⏱️ Updated at 2024-01-10 11:14:40 +0000 |
08ca416
to
8b80523
Compare
b278308
to
ce92587
Compare
<!-- It can be used for (where) --> | ||
Profiling is useful when you have written any code that will be running for a substantial period of time. | ||
As your code grows in complexity, it becomes increasingly difficult to estimate where time is being spent during execution. | ||
Profiling allows you to narrow down where the time is being spent, to identify whether this is of concern or not. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Profiling allows you to narrow down where the time is being spent, to identify whether this is of concern or not. | |
Profiling allows you to narrow down where the time is being spent, to prioritise optimisation efforts. |
## Selecting an Appropriate Test Case | ||
|
||
<!-- Profiling runs slower --> | ||
The act of profiling your code, collecting additional timing metrics during execution, will cause your program to execute slower. The slowdown is dependent on many variables, however the profiling covered by this course shouldn't more than double the runtime. <!-- Is this true? --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The act of profiling your code, collecting additional timing metrics during execution, will cause your program to execute slower. The slowdown is dependent on many variables, however the profiling covered by this course shouldn't more than double the runtime. <!-- Is this true? --> | |
The act of profiling your code, collecting additional timing metrics during execution, will cause your program to execute slower. The slowdown is dependent on many variables, therefore it may be necessary to profile a reduced subset. |
One of the examples within line-profiling
is much slower, due to a method with alot of cheap statements and a loop being called 125,000 times.
e55f8e8
to
2a27bb3
Compare
c92aa41
to
539ae2d
Compare
This should now be ready for a high-level review of the full profiling training (4 episodes). I will have a detailed low-level read through myself for other minor changes later this week. |
Closes #2