Prev: Faster image rotation
Next: Analog/non-light displays
From: D Yuniskis on 11 Apr 2010 20:29 Hi Sylvia, Sylvia Else wrote: > On 12/04/2010 9:45 AM, Skybuck Flying wrote: >> Would it be possible to measure the energy usage per application ? >> >> So that a user could easily see it... like the windowss' task manager ? > > Is that before or after you include the energy used by the program > that's showing you the energy usage? Ha! Good point! ;-) > In any case, the energy used by an application is not so clearly > defined. You could in principle measure the increase in energy used by > the computer as a result of running the program, but some of that > increase will be the result of interactions (such as memory, cache or > disk contention) with other programs. That is - stop another program, > and then run the program of interest again - and you could find that it > causes a lower increase than before. This is true of many details "under the hood". E.g., many operating systems try to "be fair" and divide the processors resources (e.g., time) among concurrently executing tasks by giving each a similar slice of time in which they are granted use of the processor. But, if one application "does something" that causes something else to happen "some time afterwards" *and* that "something else" unconditionally takes resources away from whatever is currently executing (e.g., the first application causes some disk activity to be initiated. That activity takes some time to come to fruition. When it does, resources will be diverted from whichever application is *currently* executed -- which may not be the application that initiated the activity! -- so that other application loses part of its time slice so the processor can perform some activity that benefits the original application) The "power analogy" is similar. How do you "charge" the application for the cost of its disk accesses? Do you know the power differential involved in any *particular* disk access? I.e., how much does the head actuator move? How do you "charge" applications for the cost of keeping the disk spinning? If application 1 is a "load once" application that never needs the disk again, why should it have to pay for a spinning disk that *it* would rather see spun down?? > It doesn't appear to be a very useful thing to measure. Agreed. I think the smarter approach is to design an API that lets application developers be aware of how their application is operating at any given time. And, ways to tell that application to "conserver" -- or not.
From: D Yuniskis on 11 Apr 2010 20:37 Skybuck Flying wrote: > "Sylvia Else" <sylvia(a)not.at.this.address> wrote in message > news:4bc26201$0$12576$c3e8da3(a)news.astraweb.com... >> On 12/04/2010 9:45 AM, Skybuck Flying wrote: >>> Would it be possible to measure the energy usage per application ? >>> >>> So that a user could easily see it... like the windowss' task manager ? >> >> In any case, the energy used by an application is not so clearly defined. >> You could in principle measure the increase in energy used by the computer >> as a result of running the program, but some of that increase will be the >> result of interactions (such as memory, cache or disk contention) with >> other programs. That is - stop another program, and then run the program >> of interest again - and you could find that it causes a lower increase >> than before. >> >> It doesn't appear to be a very useful thing to measure. > > I was thinking myself along the following lines: > > Mostly the cpu's energy consumption would be measured... it might do so on > an instruction-to-instruction basis... but it would need to know what > application or system component/kernel it belongs too... > > I had this idea after reading the absurd constraints by "Steve Jobs" on > programming the iPhone... He being worried that "non apple development > tools" would create bad iPhone applications ?! Speculation is that he is > worried about "Slow applications", "Bad applications" and "Energy hungry > applications". Developing code for very low power applications is an art. Publishing SDK's for Joe Random Developer to develop any sort of application he/she envisions without regard for the constraints of the device exposed the user's impressions of the device (and its manufacturer). I.e., if every application was 100MB, then the iPhone would look like an underpowered device. If every application insisted on the radio being "on", then the iPhone's battery would look like it was undersized. If every application wanted to run in "Administrator mode", then the inevitable security compromises would make the iPhone look like an insecure device. Etc. Instead, developers need to be aware that you don't use resources (memory, CPU, power, etc.) casually on a device that is severely constrained, resource wise. I.e., those folks who write desktop applications probably will be writing bad iPhone applications! > "Steve" seems to be "be-litting" his own users ;) :) > > Instead how about giving the users more insight into the functioning of the > device by: "Task manager like thingy" and "energy like thingy" ;) > > Then users can decide for themselfes if they want or do not want to run > energy hogs, and system hogs etc ;) As Sylvia mentioned, you need to come up with a way of charging each application for the actual TOTAL costs of its actions.
From: Sylvia Else on 11 Apr 2010 22:03 On 12/04/2010 10:09 AM, Skybuck Flying wrote: > I had this idea after reading the absurd constraints by "Steve Jobs" on > programming the iPhone... He being worried that "non apple development > tools" would create bad iPhone applications ?! Speculation is that he is > worried about "Slow applications", "Bad applications" and "Energy hungry > applications". He's probably justified. Whether due to ignorance, or just laziness, developers seem able to use all of whatever computing resource is available. Sometimes it's because they're doing new stuff that couldn't be done before on lesser powered devices, but often it's just people using less efficient algorithms - for example, linear searches rather than binary cut or hash searches - because they're easier, and don't cause obvious headaches on faster hardware. Until, that is, that faster hardware is trying to do other things at the same time. We also see more and more use of interpreted scripting languages for tasks that really demand a compiled language. I'm waiting (I doubt I'll wait long, if it doesn't exist already) for an interpreted scripting language whose interpreter is written in another interpreted scripting language. Sylvia.
From: Skybuck Flying on 13 Apr 2010 07:53 <nonsense snipped> :) I think good desktop application developers are well-aware that iPhones and such have limited resources. As well as application-tool developers. For Steve Jobs/Apple to say that some tools are bad seems almost slanderous... He/they better be able to prove it ! ;) :) Bye, Skybuck =D
From: is_this_seat_taken on 13 Apr 2010 20:56
On Tue, 13 Apr 2010 13:53:23 +0200, "Skybuck Flying" <IntoTheFuture(a)hotmail.com> wrote: ><nonsense snipped> :) > >I think good desktop application developers are well-aware that iPhones and >such have limited resources. > >As well as application-tool developers. > >For Steve Jobs/Apple to say that some tools are bad seems almost >slanderous... > >He/they better be able to prove it ! ;) :) > >Bye, > Skybuck =D > Time is running out for you, son. You better become self-aware soon... |