Help with an 8th grade science project
dave em
daveandem2000 at gmail.com
Thu Nov 20 12:33:37 EST 2014
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
More information about the Python-list
mailing list