Running Time Analysis

Characterize Performance with Analysis
Published

February 17, 2025

Exploration

Activities

  • Tuesday and Thursday: Analytical Evaluation
    • Further understand why program performance is critically important
    • Characterize performance patterns in Python programs
    • Use asymptotic analysis to characterize performance
    • Examine Python source code segments to illustrate key points
  • Friday: Submit algorithm engineering project three, start algorithm engineering project four, and give presentations for the first algorithm all-hands session

Project

Goal

To build and use a Python program, called filesorter, that runs benchmarks to study the performance of sorting different types of data stored in a CSV file.

Steps

  • Click the link provided in Discord to get started on this project
  • Use File Sorting as your template repository
  • Install the project’s dependencies using devenv and/or poetry
  • Follow the instructions to complete the project:
    • Week 1: Implement all of the modules in filesorter
    • Week 2: Design and conduct experiments and document experimental results
  • Schedule office hours if you have questions
Student Insights

Students who completed this project shared these insights:

  • “The main take home point for me was how impactful the input file size is to runtime as well as the running time analysis. We can double the input size and it will show us the function by which the time increases. In this project, different methods produce the same output but exhibit different efficiency characteristics.” Pallas Athena-Cain

  • “This experiment revealed how confounding variables, such as function design, play a role in the results gathered from outcome variables, such as time overhead. Striking the right balance between these aspects is key in developing the most efficient approach to sorting data quickly, yet also accurately.” Chloe Bonson

Slides

Full Screen: Week Six: Running Time Analysis through Theoretical Evaluation

Back to top