6 ms·
What i don't understand is how a phone can be so powerful with so little watt usage. especially compared to a PC
by pizzakiller85 8y ago
What i don't understand is how a phone can be so powerful with so little watt usage. especially compared to a PC
- pjc50 8y agoThere's a lot less of it, and PCs aren't nearly as optimised for low energy usage.
- agumonkey 8y agoLaptop cpus are still quite faster for complex computation, on a phone it's rarely the case and they have gpu/npu as coprocessor to avoid wasting energy there.
- C1sc0cat 8y agoThey are compared to the amount of work they can do per watt when compared to the original IBM PC. Old school mainframe power suplies are probably even less efficient per what.
- blattimwind 8y agoPower consumption is more or less square to per-thread throughput. Power consumption is between square and m^n to inter-core bandwidth and count. So, a high-end smartphone CPU might do 1/5th of the throughput of a desktop CPU using 1/25th of the power.
- kens 8y agoThose formulas seem highly unlikely to me. Power consumption is generally proportional to clock speed. And I don't know what m^n even means in this context.
- hyperman1 8y agoI'm trying to understand what blattimwind is saying here, but this might be a case where deep understanding has suffered from a badly worded post. Just guessing here, by pulling apart what little is in there: * Total power usage has a big fixed parts, e.g. screen power usage going up linear with brightness and screen size. Or RAM power usage goes up linearly per bit just to keep the memory intact. So Let's assume OP talks about only the 'clocked' components, like CPUs and busses. * I did hear for single core CPUs how the power usage arose with the square of the CPU speed, unless offset by die shrinking or technological advances. This was one of nature's walls hit by the Pentium IV. Can't find a good reference atm, but here http://www.tomshardware.co.uk/answers/id-3025075/higher-clock-speed-higher-load-power-consumption.html http://www.tomshardware.co.uk/answers/id-3025075/higher-cloc... is a page with the first graph looking square-ish being what happens with power usage when clock goes up on the same machine. * And throughput is linear with clock speed, if nothing else changes. If you double your clock, you double your throughput just by moving more data over the same bus. So the third line of OP is consistent with this: 1/5 of the throughput is reachable with 1/5th of the clock, thus 1/25 of the power. * First line might compare 2 ways to raise the throughput: Either rise the speed of 1 core or add more cores. When you rise the speed of 1 core, power goes with the square of this rise. When you add more cores, power goes linear with these cores, assuming your interconnect is free. * Second line 'between square and m^n' needs some interpreting. It might make sense when for a square n=2, and m measures frequency/throughput/core count/... . I assume he says the real relation might be power usage = throughput^2.3 for example * When you have m cores, and each is interconnected to its m-1 brothers, you have m*(m-1) interconnect elements using power. This is again a square law. You can get around this by not connecting everything to everything, but this will cost you in data throughput - There will be bottlenecks. Thats what i can make from it.
- hyperman1 8y agoUpdate: The link between power and frequency seems to be complicated. See e.g. https://physics.stackexchange.com/questions/34766/how-does-power-consumption-vary-with-the-processor-frequency-in-a-typical-comput https://physics.stackexchange.com/questions/34766/how-does-p... First answer says P goes linear with f, based on theory. Second answer goes for cubic or worse based on some deep papers, but a comment says this is dated. Third answer has a graph from real-world measurements which is clearly worse than linear, and a comment saying there is an exponential part somewhere there too, but it is swamped by linear factors. WIkipedia, by the way, goes for linear - https://en.wikipedia.org/wiki/CPU_power_dissipation#Sources https://en.wikipedia.org/wiki/CPU_power_dissipation#Sources I think the most realistic answer I can give is: It is complicated, and OP is a very good nerd sniper ;-)
- supernovae 8y agoThere are a lot of efficient PC's available. My HTPC sleeps when not playing and when streaming 1080p/4k videos only uses about 25 watts... which isn't bad considering its streaming from a NAS with plex through to an Xbox One. Phones, on the other hand, are highly specialized - PC's are general purpose. Trade off is often power requirements and performance. My 8 core 16 thread Ryzen Gaming PC smokes anything my phone can do and i guess if i really wanted to compare i could do a taskper watt calculation and see how they compare. When i use my phone like a computer, its power draw increases and i get just a couple hours of battery use. play fortnite on your phone and it goes dead quick.
- tombert 8y agoI agree with your point, but I run a cluster of 6 ODroid systems (running an Emby server (which only runs on one of the nodes)) , and even then it peaks at around 50 watts last time I measured (the hard drive array is separate and peaks at around 30). I haven't done a ton of side-by-side comparisons, but it does feel like ARM runs more efficiently per watt.
- thfuran 8y agoIt is definitely the case that pushing raw performance erodes perf / watt on a given process and architecture. You could slightly underclock and moderately undervolt many CPUs or GPUs to see a fairly significant gain in perf / watt.
- nine_k 8y agoI suppose something like an i7 or Ryzen would be mostly idle running a similar load, and would consume a comparable amount of power, plus a lot of power to keep its hi-perf features, like huge caches and other, idling cores, up and ready to take load any nanosecond it arrives. Phone SoCs specifically address that by having 2+ CPUs of varied power, and having the high-power CPUs completely shut down and powered off when idle. Same applies to GPU cores that eat significant power when idle, and a lot of power when fully loaded. A PC with a 600W PSU likely features a large GPU that can consume e.g. 300W under full load, doing 60fps photorealistic rendering, or training a neural network. Phones just don't have this kind of hardware (they have much smaller ans less complex GPUs), and, again, manage to keep them powered down when not in use. Again, a PC drawing 50W or less while doing light office work is a pretty normal thing.
- deleted 8y ago[deleted]
- vlan0 8y agoThis is only true when comparing older PC hardware. There is simply no comparison to make when we are talking raw compute power. If there were, the DC market would be dominated by x86 processors with stupidly low power consumption. The cost savings from the smaller power/heat footprint would be absurd.
- mrweasel 8y agoA phone, while powerful, is still nowhere near a modern PC in terms of performance. As you push for more and more performance, you’ll pay increasingly more, both in power and money, for increasingly smaller gains.
- gvb 8y ago1) Your phone is mostly sleeping (extremely low power state). Your laptop also uses very little power when sleeping. That is why your laptop can sleep for a week++ but can only run for 3-8 hours. 2) Your phone is not nearly as powerful as your laptop despite similar specifications of the CPU speeds. Pretty much everything other than the base CPU clock rate is much, much slower. In addition, your phone CPU down-clocks itself due to thermal limitations where your laptop has a fan and much better heat dissipation capabilities. As a result, it is almost never running at the maximum rated clock speed. On a YouTube talk I watched (skewering web site speeds and JavaScript overloads), the speaker's iPhone, with CPU specs similar to his laptop, was 25 times slower than his laptop when rendering a (JavaScript heavy) benchmark page.
- deathanatos 8y agoSounds a bit like "Progressive Performance (Chrome Dev Summit 2016)": https://www.youtube.com/watch?v=4bZvq3nodf4 https://www.youtube.com/watch?v=4bZvq3nodf4
- gvb 8y agoYes, thanks! Where he talks about benchmarked speed vs. marketing numbers: https://youtu.be/4bZvq3nodf4?t=676 https://youtu.be/4bZvq3nodf4?t=676
- ex3ndr 8y agoJS on iOS is probably not jitted since writing to executable memory is prohibited on iOS. This is not the case for desktop.
- NickM 8y agoPhones are much less powerful than PCs, but they feel comparably fast because most software developers waste exactly as much performance as they can get away with. The phone app developers are forced to write better, faster code than the PC app developers, just as PC app developers ten years ago were forced to write better code than PC app developers are today.
- zwieback 8y agoSo so true. Every time I go back to programming microcontrollers in C I'm amazed at how much can be done with just a little code. We waste so much on fluff. But then, we do enjoy the fluff.
- zaroth 8y agoFluff in theory should equate to productivity. Sometimes we stop just a bit too soon. I’ve found a great rule of thumb is that once you’re code complete on a module, put in an extra 10% of work with the profiler to try to improve performance. Keep doing 10% spurts until the performance improvement of the last spurt is less than 5x. There’s almost always low hanging fruit which will return at least 10x. Sometimes you find multiple places where you get 10x and your code ends up more than 100x faster. And at that point all your unit tests are written and green so the refactoring is pretty quick. Right? ;-)
- ajuc 8y agoIt helps to have performance targets. Like 60fps, sub-100ms ui reactions, no stuttering, throughput matters or not, timing attacks are a concern or not. It's often the case that optimizing a special case 10 times increases throughput, but makes the user experience worse (because it starts stuttering), makes the code ugly, and allows for timing attacks. So, in many contexts it's actually bad idea. Half the work in optimization is measuring the correct thing.
- Sohcahtoa82 8y ago> Phones are much less powerful than PCs, but they feel comparably fast I beg to differ. My Droid Turbo is powered by a 2.7 Ghz quad-core CPU, yet often is incredibly slow. If I want to open Waze and enter and address to navigate to, it's often 10-15 seconds from the time I tap the Waze icon on the launcher until the apps is loaded and the on-screen keyboard has presented itself for typing. There are significant stutters when I'm trying to scroll while a web page is loading. Fallout Shelter takes nearly an entire minute to load. Sometimes, plugging in a USB charger causes the phone to basically become a brick for half a minute or more, as if there are tons of apps deferring processing until I'm on external power. Overall, it often doesn't feel any more responsive than my original Droid back in 2010, which was only a 550 Mhz single core.
- imtringued 8y agoBecause they aren't both efficient and fast at the same time. They have two sets of cores. Fast out-of-order cores that will burn through your battery in a few hours (this is what is generally measured by benchmarks) and slow efficient in-order cores that can last one or two days in standby. If you actually use battery intensive apps like google maps' you will quickly realize your battery isn't going to last very long.