Performance Tuning 1

Due to the dynamic typing of Python, loops tend to be the most inefficient part of Python programs. Use cPython and line_profiling to locate the functions and lines where the most time is being spent in the program you wrote for Assignment 5. Use NumPy to replace the high overhead loops with array operations in order to show a measurable improvement in the performance. Place a comment at the start of the program indicating the performance improvement you achieved. Call the resulting program and commit it to the same repository.