Hello, I am the adult advisor (aka father) to an 8th grader who is doing a science project that will compare / benchmark CPU performance between an AMD 64 Phenom II running Ubuntu 14.04 and a Raspberry Pi 700MHz ARM.
Basic procedure: - Run a Python script on both computers that that stresses the CPU and measure -- Time to complete the calculation -- Max CPU during the calculation -- We have chosen to do factorials and compare performance by running calculations by order of magnitude. Our hypothesis is that we will begin to see a wider performance gap between the two computers as the factorials increase in order of magnitude. Status: - We have a working program. Pseudo code follows: import linux_metrics from linux_metrics import cpu_stat import time print 'Welcome to the stress test' number = raw_input("Enter the number to compute the factorial:") ## function to calculate CPU usage percentage def CPU_Percent(): cpu_pcts = cpu_stat.cpu_percents(.25) print 'cpu utilization: %.2f%%' % (100 - cpu_pcts['idle']) write cpu utilization to a csv file with g.write ## function to compute factorial of a given number def factorial(n): num = 1 while n >= 1: num = num * n CPU_Percent() ****This is the function call irt Q 1 below **** n = n - 1 return num # Main program Record start time by using time.time() Call function to compute the factorial. Record finish time by using time.time() write time to compute to a file f.write(totalEndTime - totalStartTime) print ("Execution time = ", totalEndTime - totalStartTime) Questions: 1. In the factorial() function we call the CPU_Percent() function and write the CPU utilization value to a file. - Is this a correct value or will the CPU utilization below lower because the factorial() function made its calculation and is now just checking the CPU utilization? - If we are not getting the true max CPU utilization, can someone offer a design change to accomplish this? 2. What unit does time.time() use? An example for calculating the factorial of 10 is our program gives: Execution time = ', 1.5703258514404297 I presume this is telling us it took 1.57 seconds to complete the calculation? Thanks in advance for any help / suggestions. Best regards, Dave -- https://mail.python.org/mailman/listinfo/python-list