Help with an 8th grade science project

dave daveandem2000 at gmail.com
Thu Nov 20 22:06:22 CET 2014


On Thursday, November 20, 2014 1:48:06 PM UTC-7, Ian wrote:
> On Thu, Nov 20, 2014 at 1:13 PM, Dave Angel <davea at davea.name> wrote:
> > 
> >> 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?
> >
> > I'm not familiar with that package; I just took a quick look at
> >  pypi. So I'd have to guess. But since your timing is so huge, I'd
> >  guess that you're measuring utilization during a time period that
> >  your factorial calculation is paused. In other words you're
> >  measuring cpu utilization for the other processes in your
> >  system.
> >
> > Probably someone else will correct me, but I'd guess you need to
> >  measure utilization with a separate process.
> 
> I'm not familiar with it either, but I would guess that it's probably
> just pulling data from /proc/stat. The data is not going to be any
> different if pulled from one process versus another. However, the time
> that is spent waiting for this data could skew the results if done a
> lot, so I suggest doing it only once at the end of the factorial
> function rather than on every iteration of the factorial loop.
> 
> If you want multiple measurements while the function is running, then
> either check it only every X iterations, or run a separate process and
> check it every 100 milliseconds or so. The latter is probably
> preferable since the time between iterations will depend on the system
> and will also get progressively slower for large factorials.

All,

thanks for all of the advice.  I took the function call to measure CPU usage out of the loop and now get very fast responses.  For example execution time for 10000 is 0.46 seconds and for 10 is 0.0082 seconds.  

I took a quick look at subprocesses to run the cpu function simultaneously with the factorial function or maybe we can figure out a way to use something like top and filter out CPU while we run the factorial program.

Anyway, thanks for all of the help and the sanity check on the times I was getting.

Best regards,
Dave




More information about the Python-list mailing list