Flat profile:Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls Ts/call Ts/call name 96.02 102.23 102.23 _start 3.79 106.27 4.04 _GLOBAL__sub_I__Z10reportTimePKcNSt6chrono8durationIxSt5ratioILx1ELx1000000EEEE 0.19 106.47 0.20 main 0.00 106.47 0.00 1 0.00 0.00 _initinitialization – took – 0 millisecs [email protected]:~> a1 50000 Pi: 3.146080 initialization – took – 4 millisecs [email protected]:~> a1 10000 Pi: 3.171200 initialization – took – 0 millisecs [email protected]:~> a1 100000 Pi: 3.141520 initialization – took – 8 millisecs [email protected]:~> a1 1000000 Pi: 3.141664 initialization – took – 70 millisecs [email protected]:~> a1 10000000 Pi: 3.141130 initialization – took – 786 millisecs [email protected]:~> a1 100000000 Pi: 3.141698 initialization – took – 9426 millisecs [email protected]:~> a1 1000000000 Pi: 3.141604 initialization – took – 95026 millisecs [email protected]:~> a1 100000000 The reason I chose calculating pi is because in breaking down the loop into portions that can be executed by the tasks. Something I find interesting is that the number is so large that the calculation, although close, isn’t accurate. Only by having a bigger and bigger number does the number get closer and closer to being true in the conventional sense without using precision point calculation. Since that is the case, optimizing will allow the program to use a bigger number in a quicker time.Flat profile:Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls Ts/call Ts/call name 96.02 102.23 102.23 _start 3.79 106.27…