3 ms·
I wonder if / when hardware can't continue to get better, will software start to then be the differentiating factor in performance?
by polishdude20 3y ago
I wonder if / when hardware can't continue to get better, will software start to then be the differentiating factor in performance?
- BenoitP 3y agoIt sure can. Large parts of the whole stack have been developed with trading off developer velocity vs performance. But hardware still has plenty of runway. The third dimension is barely beginning. Also customizing the hardware to the workload has lot of untapped potential. RISC-V has a committee discussing accelerating dynamic languages for example. Memory tagging for automatic array bounds checking, pointer masking for helping GCs, custom instructions caches, etc. And you can go deeper; why not have a Node Webserver chip?
- bayindirh 3y ago> Large parts of the whole stack have been developed with trading off developer velocity vs performance. The time is always paid by someone. If developers decide to write the best code, they pay the price once in terms of development time. If the code is written with a developer velocity first perspective, every user pays the price every time they use the code. Also, developer velocity vs. program performance is not a correct perspective to look at it. I have used at least half a dozen libraries with great developer ergonomics and have world leading performance (e.g. Eigen, Catch2, easylogging++ from top of my head).
- transcriptase 3y agoAs far as I can tell hardware gains are enabling an entire generation of programmers to ignore the idea of taking optimization/performance into consideration entirely, outside of niche areas. The sluggishness, absurd loading times, and RAM usage for even the simplest applications on blisteringly fast hardware is astonishing.
- Rapzid 3y agoSeems fine to me.
- bayindirh 3y agoWhen you start to pay attention to code you write, it accelerates in tremendous amounts, even without doing fancy optimizations. Also, clean and sensible code is easily optimized by compilers a great deal already. A numerical Gaussian integration code I have written in 2017 or so can run at 1.7 million iterations per second, per core, on a stock, 3rd generation i7 3770K. It's implemented in C++, and only written carefully. No fancy optimizations are done. If programmers paid half the attention their code deserves, I bet most of the software we use would be 2x faster, on average.
- Rapzid 3y agoGreat, wow, that's interesting. I mean as a user everything seems fine to me. Things are getting better, not worse.
- bayindirh 3y agoBecause OS can hide the resource waste pretty cleverly. macOS compresses RAM on the fly, Linux moves very stale pages to swap early to keep memory utilization in check. On that department, I was able to store two 3000x3000 double precision dense matrices and some big double precision vectors, plus the 3D model representing the object I'm working on in ~250MB IIRC. The code is a scientific materials simulator, BTW. Eclipse (the IDE) uses ~1GB (after warming up) with my fat C++ config, and that thing is written in Java, and is a full blown IDE with an always on indexer + static analyzer. VSCode uses 1GB for nothing. Atom used 1GB for nothing. Evernote uses ~900MB on start on macOS. That thing takes notes! We have the resources and wizardry to keep bad programming in check, but we can do much better if we wanted to.
- bee_rider 3y agoIn this case, it would probably be best to use a tuned library, right? The tricky bit is finding the spot between “find a library” and “be lazy about it,” if you want to find tasks worth doing well.
- bee_rider 3y agoThis has been going on for two or three generations at least.
- KptMarchewa 3y agoProbably since early 32bit processors...
- bee_rider 3y agoI’m sure in the 80’s there were folks saying “kids these days with their random access memory, in my day you had to wait for the drum to come around” or whatever, haha.
- aaron695 3y ago[dead]
- antifa 3y agoI don't like that no laptop I've owned (except the M1) has really truly felt faster over the last 10 years. Here's to hoping that crystal/nim/golang/rust type languages start to get more popular with the kinds of people who would normally use electron.
- NovaDudely 3y agoThis is why I say if folks want the "year of Linux desktop" focus on optimising performance now before it is forced. Make older machine perform better and avoid a lot of the hardware lockdown coming. Note: I don't believe there ever will be a year of the desktop. But for Libre/Open source to thrive, it cannot just be free/open. It has to be good.
- ilaksh 3y agoThen they invent a new hardware paradigm.
- thechao 3y agoThere's an enormous stack of SW in the HW that's enabling "cheap" ASIC development at the cost of chip performance. There's probably as much room to optimize on any given node as there are optimization opportunities for the SW on that part. Both SW and HW have been leaning on Moore's law a long time.
- ksec 3y agoThat was what promised and assumed 10 - 20 years ago. Many including Bill Gate once said Hardware will becomes so cheap it will all be about software. At least with the current AI Hype we should have enough momentum to sustain the cost of innovation down to 2030. Around 1nm or 10A in TSMC Node's terms. We will have to wait to see if Apple could further push the limit of CPU performance. Right now they have the highest performance per watt design, with AMD catching up in Zen 5 / Zen 6. May be going all the way to 16 Wide Decode? Surely somewhere along the line we hit the laws of diminishing return. We already went from 4 in x86 design to 8.
- huijzer 3y agoYes but also the rest of the stack. You can find performance gains everywhere. For example, chiplets, networking, and compilers. This is what Nvidia is doing.