4 ms·
To add to this, performance is very important in certain domains. Take game development for instance, if your code runs a bit faster that's more frames you're
by trungaczne 11y ago
To add to this, performance is very important in certain domains.
Take game development for instance, if your code runs a bit faster that's more frames you're rendering per second. This can mean the difference between a laggy, unplayable mess and a good gaming experience on an average machine (a laptop, or a non-gaming rig).
- randomsearch 11y agoMost software is not games or scientific computing. Most software is not speed critical. This is why most new software is not written in C.
- adrianN 11y agoMost new software does run on devices with batteries though. Having the CPU sleep more is a good thing to have.
- randomsearch 11y agoThis is an interesting thought. Do we know that most new software runs in batteries? Do you have a reference for that? It would be useful. Other question is - does a sleeping CPU always win, or are other optimisations such as memory usage, screen usage, and communications, more important? I know for sure that the CPU is not the main consumer of power on a bunch of Android phones that were used in an academic study.
- adrianN 11y agoI don't have hard numbers. Most computation is probably done on servers. But power matters there as well (a lot). Most devices sold today are laptops and smart phones, I think. Some people claim that the IoT will be a thing real soon now, with embedded sensors everywhere. Probably the CPU is not the main power sink on mobile devices (screen and radio are I think). But cranking up the optimization level is free for the developer.
- randomsearch 11y agoSo, this was my point - is it really free for the developer? For example, GPGPU compilers full of subtle bugs cost significant development time.
- adrianN 11y agoGPGPU is still relatively new and the tooling is still under work. But compiling with g++ -O2 instead of -O0 is pretty safe
- trungaczne 11y agoNot all software need to be speed critical but all softwares benefit from being faster. Part of the reason why we can afford to be less optimal when writing software is because many libraries have already been optimised for us (and it's not uncommon for these libraries to map to C or assembly code to utilise the hardware more efficiently), ranging from serialisation libraries to crytography libraries. This is not to mention the OS that we run the software on and other tools that the software depend on (such as databases). A small compiler optimisation improvement across the entire ecosystem can have a dramatic effect.
- randomsearch 11y ago> but all softwares benefit from being faster. It's not so simple. If you're trading off simplicity in the compiler for that speed,for example, it may be a net loss. If speed was the only concern, we'd all go out and buy super computers.
- Tiksi 11y agoBoth chrome and firefox lag all over the place on a modern quad core box with 16GB of ram and hardware accelerated rendering on a 8GB r290. Most software might not be speed critical, but those few milliseconds not saved add up quickly, and performance should definitely be a goal of most (end user) software. I mean if you're only running the software on your own servers, then by all means ignore performance as much as you please if it's a worthwhile tradeoff for you. But please don't ignore speed when it comes to software other people have to run.
- zimpenfish 11y agoChrome and Firefox suffer from having to run other people's (likely unoptimised) software in their sandbox. You can optimise as much as you like but then John Q Madbugger comes along with their insane Javascript (not looking at Flickr here, no sir) and suddenly your performance is in the toilet.
- Tiksi 11y agoYeah, the bloatloads of javascript are probably the worst offenders of ignoring performance of software other people have to run, sometimes even reimplementing features the browser already has, just slower and worse (Listen Zendesk, my browser has been doing tabs just fine for a decade, implementing them in javascript and entirely hijacking normal browser navigation behavior doesn't make anything better for anyone). Thinking over it some more, browsers themselves were probably not a good piece of software to call out on performance considering how much optimization is actually done to increase their performance. The horrid things people do on top of them deserve all the blame they get though, and then some.
- zimpenfish 11y agoThe QNAP web interface implements a whole internal windowing system in Javascript. It is the stupidest dumbest nonsense I've seen for years and is blitheringly painful to use.