Skip to content

Commit e82554b

Browse files
committed
start course with optimisation section and finish with profiling tools
1 parent fb5a6c9 commit e82554b

File tree

3 files changed

+18
-21
lines changed

3 files changed

+18
-21
lines changed

config.yaml

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
carpentry: 'incubator'
1212

1313
# Overall title for pages.
14-
title: 'Performance Profiling & Optimisation (Python)'
14+
title: 'Python Optimisation and Performance Profiling'
1515

1616
# Date the lesson was created (YYYY-MM-DD, this is empty by default)
1717
created: 2024-02-01~ # FIXME
@@ -27,13 +27,13 @@ life_cycle: 'alpha'
2727
license: 'CC-BY 4.0'
2828

2929
# Link to the source repository for this lesson
30-
source: 'https://github.com/RSE-Sheffield/pando-python'
30+
source: 'https://github.com/ICR-RSE-Group/carpentry-pando-python'
3131

3232
# Default branch of your lesson
3333
branch: 'main'
3434

3535
# Who to contact if there are any issues
36-
contact: 'robert.chisholm@sheffield.ac.uk'
36+
contact: 'mira.sarkis@icr.ac.uk'
3737

3838
# Navigation ------------------------------------------------
3939
#
@@ -59,18 +59,17 @@ contact: '[email protected]'
5959

6060
# Order of episodes in your lesson
6161
episodes:
62-
- profiling-introduction.md
63-
- profiling-functions.md
64-
- short-break1.md
65-
- profiling-lines.md
66-
- profiling-conclusion.md
6762
- optimisation-introduction.md
6863
- optimisation-data-structures-algorithms.md
69-
- long-break1.md
7064
- optimisation-minimise-python.md
7165
- optimisation-use-latest.md
7266
- optimisation-memory.md
7367
- optimisation-conclusion.md
68+
- long-break1.md
69+
- profiling-introduction.md
70+
- profiling-functions.md
71+
- profiling-lines.md
72+
- profiling-conclusion.md
7473

7574
# Information for Learners
7675
learners:
@@ -92,4 +91,4 @@ profiles:
9291
# sandpaper and varnish versions) should live
9392

9493
varnish: RSE-Sheffield/uos-varnish@main
95-
url: 'https://rse.shef.ac.uk/pando-python'
94+
url: 'https://icr-rse-group.github.io/carpentry-pando-python'

episodes/profiling-introduction.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Increasingly, particularly with relation to HPC, attention is being paid to the
4141

4242
Profiling is most relevant to working code, when you have reached a stage that the code works and are considering deploying it.
4343

44-
Any code that will run for more than a few minutes over it's lifetime, that isn't a quick one-shot script can benefit from profiling.
44+
Any code that will run for more than a few minutes over its lifetime, that isn't a quick one-shot script can benefit from profiling.
4545

4646
Profiling should be a relatively quick and inexpensive process. If there are no significant bottlenecks in your code you can quickly be confident that your code is reasonably optimised. If you do identify a concerning bottleneck, further work to optimise your code and reduce the bottleneck could see significant improvements to the performance of your code and hence productivity.
4747

index.md

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,17 @@ site: sandpaper::sandpaper_site
33
---
44

55
<!--
6-
![Welcome to Performance Profiling & Optimisation (Python) Training!
6+
![Welcome to Python Optimisation and Performance Profiling Training!
77
](episodes/fig/pando-python-hex-sticker.png){
8-
alt='Performance Profiling & Optimisation (Python) Training'
8+
alt='Python Optimisation and Performance Profiling Training'
99
style='padding: 2%'}
1010
-->
1111

12-
**Welcome to Performance Profiling & Optimisation (Python) Training!**
12+
**Welcome to Python Optimisation and Performance Profiling Training!**
1313

1414
The training curriculum for this course is designed for researchers that are writing Python and lack formal computer science training. The curriculum covers how to assess where time is being spent during execution of a Python program, it also provides a high level understanding of how code executes and how this maps to the limiting factors of performance and good practice.
1515

16-
If you are now comfortable using Python, this course may be of interest to supplement and advance your programming knowledge. This course is particularly relevant if you are writing research code and desire greater confidence that your code is both performant and suitable for publication.
17-
16+
If you are now comfortable using Python, this course may be of interest to supplement and advance your programming knowledge. This course is particularly relevant if you are writing from scratch or re-using and existing research code and would desire a greater confidence that your code is both performant and suitable for publication.
1817
This is an all-day course, however it normally finishes by early afternoon.
1918

2019
If you would like to register to take the course, check the [registration information](learners/registration.md).
@@ -34,20 +33,19 @@ If you would like to register to take the course, check the [registration inform
3433
<!-- Evaluation tool: https://web.cs.manchester.ac.uk/iloadvisor/ -->
3534
After attending this training, participants will be able to:
3635

37-
- identify the most expensive functions and lines of code using `cprofile` and `line_profiler`.
38-
- evaluate code to determine the limiting factors of it's performance.
3936
- recognise and implement optimisations for common limiting factors of performance.
40-
37+
- identify the most expensive functions and lines of code using `cprofile` and `line_profiler`.
38+
- evaluate code to determine the limiting factors of its performance.
4139
:::::::::::::::::::::::::::::::::::::::::: prereq
4240

4341
## Prerequisites
4442

45-
Before joining Performance Profiling & Optimisation (Python) Training, participants should be able to:
43+
Before joining Python Optimisation and Performance Profiling Training, participants should be able to:
4644

4745
- implement basic algorithms in Python.
4846
- follow the control flow of Python code, and dry run the execution in their head or on paper.
4947

50-
See the [Research Computing Training Hub](https://sites.google.com/sheffield.ac.uk/research-training/research-training) for other courses to help with learning these skills.
48+
See the [Python novice carpentry ](https://icr-rse-group.github.io/carpentry-python-novice/instructor/index.html) for another course to help with learning these skills.
5149
<!-- TODO: could make a dedicated page (like https://carpentries.github.io/lesson-development-training/markdown-github-primer.html) that highlights specific courses/resources. -->
5250

5351
::::::::::::::::::::::::::::::::::::::::::::::::::

0 commit comments

Comments
 (0)