The goal of this project was to reduce execution time of a program which reads JPEG images from the root directory of μSD card (formatted as FAT32), decodes them and then displays the image on 320x240 pixel LCD.
The program includes three major components:
The program also includes a built in profiler which uses Periodic Interval Timer to take one sample every micro second.
The following optimiaztions were made:
Code Version | Samples before Optimization | Samples after Optimization | Improvement | Cumulative Improvement |
---|---|---|---|---|
1 | 38300 | 16608 | 2.3 | 2.3 |
2 | 16608 | 14929 | 1.11 | 2.55 |
3 | 14929 | 14528 | 1.03 | 2.63 |
4 | 14528 | 12822 | 1.13 | 2.98 |
5 | 12822 | 11033 | 1.16 | 3.46 |
6 | 11033 | 8446 | 1.3 | 4.53 |
7 | 8446 | 7932 | 1.06 | 4.83 |