Using profiling to optimise Python programmes


This is the February monthly meeting. Normally some of us go on to the pub afterwards.

Writing software can become painful very quickly when you run into
performance issues, and it is all too easy to blindly optimise a
program without analysing it first to pin down where the issues are.
Rob McAdoo will demonstrate several techniques for measuring resource
usage and running time to show you just where to focus your

Rob is a senior software engineer at Genomics plc
(, a startup company that uses genetics to
transform drug development and improve healthcare. He works on their
analysis platform, creating data pipelines and services that enable
robust, reliable, and scalable data analysis.

The talk is 30 minutes long followed by questions and discussion.
Afterwards, we will break into groups to try our hand at profiling
some open source python programs (we will have some suggestions to
choose from of varying complexity). Pizza will be provided!


**How CamPUG uses**

We mainly use meetup as a way of publicising meetings, at which it is very good. We also use the RSVP mechanism to get some idea of how many people will turn up to a meeting, but this is very inaccurate - at best, we normally get between half and two-thirds of the "yes" numbers attending.

We do not require people to pay for meetings, or acquire tickets, and we do not "take a register" of who actually turns up. We don't even insist that people have to use meetup to indicate they're coming. It is important to me that this be a free and open meeting.

This does mean that we could have a problem when a meeting is very popular and reaches the practical room size - i.e., how many will safely fit in our meeting room. Given our new venue, we don't think that is likely to happen in the near future, but we have put a limit on the number of "yes" RSVP replies: larger than the actual room size, but hopefully not too large.