SPO600 Algorithm Selection Lab

For this lab, we are designing two different approaches to simulate the process of adjusting the volume of a sequence of sound samples in the C language.

Two primary approaches that I used were basic multiplication and bit shifting.

On Betty,  with -O3 optimization option, we achieve a faster time on both approaches. Bit shifting has a faster time than multiplication, I even tried division and it is very close to the time of bit shifting surprisingly. Without any optimization, the time is the same as having -O0.

On Xerxes, both approaches had very similar time, although bit shifting still has a slightly faster time. Division was no different than multiplication.

Overall, Betty still requires the user to optimize the code in order to have fast runtime as any optimization I added always makes a different. Xerxes is smart enough to optimize anything that is simple enough to figure it out on its own, since simple optimizations didn’t produce any different.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s