pando-python

Performance Profiling & Optimisation (Python) - Short Course

https://github.com/rse-sheffield/pando-python

Science Score: 52.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
    Organization rse-sheffield has institutional domain (rse.shef.ac.uk)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.2%) to scientific vocabulary

Keywords

open-educational-resources optimisation profiling programming python
Last synced: 4 months ago · JSON representation ·

Repository

Performance Profiling & Optimisation (Python) - Short Course

Basic Info
Statistics
  • Stars: 4
  • Watchers: 5
  • Forks: 0
  • Open Issues: 29
  • Releases: 2
Fork of carpentries-incubator/pando-python
Topics
open-educational-resources optimisation profiling programming python
Created about 2 years ago · Last pushed 4 months ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

Profiling & Optimisation (Python)

Introduction

This lesson introduces the basics of profiling and optimising Python code. The course is designed to be accessible to Python users of all skill levels (beyond total beginner). The optimisations presented should be considered performance best practices, they are demonstrated with small programming patterns that demonstrate multiple approaches in code to achieve the same result with differing performance.

Contact Us

This course was originally authored by and is currently maintained by @Robadob, it is a fork of the University of Sheffield branded course. Both repositories are maintained, so issues will be monitored .

Contributing

See Contributing

Acknowledgements

The initial development of this course was funded by the University of Sheffield, to support training initiatives for users of their Stanage HPC cluster.

Building the Site Locally

If you are making complex changes, and wish to build the site locally the below instructions can be followed.

Setup

Both of these steps should be followed within rterm.

```r

Setup mirrors

options(repos = c( carpentries = "https://carpentries.r-universe.dev/", CRAN = "https://cran.rstudio.com/" ))

Setup install from github

install.packages("devtools") library(devtools)

Install Uni of Shef Varnish theme

install_github("RSE-Sheffield/uos-varnish")

Install remaining official carpentries packages

install.packages(c("sandpaper", "tinkr", "pegboard")) ```

Development Server

r sandpaper::serve()

Owner

  • Name: RSE Sheffield
  • Login: RSE-Sheffield
  • Kind: organization
  • Email: rse@sheffield.ac.uk
  • Location: Sheffield, UK

Research Software Engineering team at the University of Sheffield

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: Performance Profiling & Optimisation (Python)
message: >-
  Please cite this lesson using the information in this file
  when you refer to it in publications, and/or if you
  re-use, adapt, or expand on the content in your own
  training material. To cite the Workbench software itself,
  please refer to the websites for the individual
  components:
  https://carpentries.github.io/sandpaper/authors.html#citation,
  https://carpentries.github.io/pegboard/authors.html#citation,
  https://carpentries.github.io/varnish/authors.html#citation
type: dataset
authors:
  - given-names: Robert
    family-names: Chisholm
    email: robert.chisholm@sheffield.ac.uk
    affiliation: University of Sheffield
    orcid: 'https://orcid.org/0000-0003-3379-9042'
  - given-names: Jost
    family-names: Migenda
    email: jost.migenda@kcl.ac.uk
    affiliation: King’s College London
    orcid: 'https://orcid.org/0000-0002-5350-8049'
identifiers:
  - type: doi
    value: 10.5281/zenodo.15010977
    description: This doi cites all versions of the code
repository-code: 'https://github.com/RSE-Sheffield/pando-python'
url: 'https://rse.shef.ac.uk/pando-python/'
repository: 'https://github.com/carpentries-incubator/pando-python'
abstract: >-
  This lesson introduces the basics of profiling and
  optimising Python code. The course is designed to be
  accessible to Python users of all skill levels (beyond
  total beginner). The optimisations presented should be
  considered performance best practices, they are
  demonstrated with small programming patterns that
  demonstrate multiple approaches in code to achieve the
  same result with differing performance.
keywords:
  - open-educational-resources
  - python
  - profiling
  - optimisation
  - programming
license: CC-BY-4.0

GitHub Events

Total
  • Create event: 30
  • Release event: 2
  • Issues event: 24
  • Delete event: 26
  • Member event: 1
  • Issue comment event: 80
  • Push event: 177
  • Pull request review event: 86
  • Pull request review comment event: 107
  • Pull request event: 45
  • Fork event: 3
Last Year
  • Create event: 30
  • Release event: 2
  • Issues event: 24
  • Delete event: 26
  • Member event: 1
  • Issue comment event: 80
  • Push event: 177
  • Pull request review event: 86
  • Pull request review comment event: 107
  • Pull request event: 45
  • Fork event: 3

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 15
  • Total pull requests: 20
  • Average time to close issues: 5 months
  • Average time to close pull requests: 8 days
  • Total issue authors: 3
  • Total pull request authors: 4
  • Average comments per issue: 0.13
  • Average comments per pull request: 2.25
  • Merged pull requests: 14
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 15
  • Pull requests: 20
  • Average time to close issues: 5 months
  • Average time to close pull requests: 8 days
  • Issue authors: 3
  • Pull request authors: 4
  • Average comments per issue: 0.13
  • Average comments per pull request: 2.25
  • Merged pull requests: 14
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Robadob (20)
  • LouiseABowler (4)
  • ns-rse (1)
  • JostMigenda (1)
  • Romain-Thomas-Shef (1)
Pull Request Authors
  • Robadob (30)
  • JostMigenda (9)
  • msarkis-icr (1)
  • LouiseABowler (1)
Top Labels
Issue Labels
enhancement (3) documentation (1) new episode (1)
Pull Request Labels
type: template and tools (6) new episode (2) documentation (1) enhancement (1)

Dependencies

.github/workflows/pr-close-signal.yaml actions
  • actions/upload-artifact v3 composite
.github/workflows/pr-comment.yaml actions
  • actions/checkout v3 composite
  • carpentries/actions/check-valid-pr main composite
  • carpentries/actions/comment-diff main composite
  • carpentries/actions/download-workflow-artifact main composite
.github/workflows/pr-post-remove-branch.yaml actions
  • carpentries/actions/download-workflow-artifact main composite
  • carpentries/actions/remove-branch main composite
.github/workflows/pr-preflight.yaml actions
  • carpentries/actions/check-valid-pr main composite
  • carpentries/actions/comment-diff main composite
.github/workflows/pr-receive.yaml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • carpentries/actions/check-valid-pr main composite
  • carpentries/actions/setup-lesson-deps main composite
  • carpentries/actions/setup-sandpaper main composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
.github/workflows/sandpaper-main.yaml actions
  • actions/checkout v3 composite
  • carpentries/actions/setup-lesson-deps main composite
  • carpentries/actions/setup-sandpaper main composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
.github/workflows/update-cache.yaml actions
  • actions/checkout v3 composite
  • carpentries/actions/check-valid-credentials main composite
  • carpentries/actions/update-lockfile main composite
  • carpentries/create-pull-request main composite
  • r-lib/actions/setup-r v2 composite
.github/workflows/update-workflows.yaml actions
  • actions/checkout v3 composite
  • carpentries/actions/check-valid-credentials main composite
  • carpentries/actions/update-workflows main composite
  • carpentries/create-pull-request main composite