15 ms·
What would happen if computers never got any faster?
- Waterluvian 6y agoWas much of the "MegaDrive games getting better" accomplished by stuffing more chips into the cartridges?
- _NSAKEY 6y agoStuffing more chips onto game cartridges was a thing that happened with the SNES quite a bit, but really only happened with Virtua Racing on the Genesis/Mega Drive. If you look at early titles for a particular platform vs the later ones, the later ones almost always look/perform better because the developers learned how to milk more resources out of the platform. An example from the Playstation 1 era is Naughty Dog Studios, as seen here in this old HN thread: https://news.ycombinator.com/item?id=9737156 https://news.ycombinator.com/item?id=9737156
- kmeisthax 6y agoNot very much. The SNES was the king of stuffing coprocessor chips onto cartridges; the hardware was a minor 6502 upgrade paired with amazing sound from Sony, and some pretty good video hardware. Sega did almost the opposite: they took the 68000, a pretty good CPU for the time, and paired it with OK sound and a tweak to the TI VDP they were using in the Master System. The average SNES game just needed the extra oomph that a coprocessor could give, while the average Genesis game probably was fine with the 68K. That's not to say coprocessors didn't exist. Sega loved expanding the Genesis - but with hardware-addons that didn't sell very well. The Sega CD is effectively a second console's worth of coprocessors. It included much-improved audio hardware (which barely got used because you had CDDA), another 68000 CPU, and some fancy rotozoom ASIC stuff. There is a SNES style "just sneak a chip onto the cartridge" thing, though, but there's only one game that does that: Virtua Racing. It has a very primitive hardware rasterizer on board, which actually causes problems with some later-model Genesis consoles. It also won't work at all if you have a 32X plugged in.
- greggman3 6y agoit's far from settled that the 68k in the Genesis was more powerful than the 65816 in the SNES. Most instructions on the 68816 use 1/3 of the cycles per instruction compared to the 68k. Sega had their marketing of "blast processing" because Sonic was a "fast game" we all know what was pure marketing. Similarly fast games, meaning games that displayed the same features as Sonic, came out on SNES, Uniracers would be one such example. I think it would be pretty hard to find a Genesis game that would unequivocally demonstrate the 68k in the Genesis was a win over the 65816 in the SNES.
- RetroSpark 6y agoThe other replies describe the lack of coprocessors, but there is one way in which Mega Drive cartridges got more sophisticated over time - increased ROM capacity. At launch, most games were around 512KB in size. By the end of the machine's lifespan 3MB was common and there were even some 4MB and 5MB games.
- bitwize 6y agoThis reads like cope for the fact that machines from other vendors will now lag behind Macs for quite a while to come.
- wait_a_minute 6y agoPerhaps this will usher in more competition which will benefit consumers and developers with even more powerful hardware! Apple has certainly raised the bar significantly with their M1 chip.
- anonyfox 6y agoGiven that Featurecreep/Software complexity continues to increase, there would be a shift in mindset to leverage more Performant languages/tools instead of only focussing on highlevel productivity for developers. Read: use Rust instead of Ruby. Or augment, like native libs in python
- Ace17 6y ago"We’re so spoiled today. Every week a newer, faster processor is released. Hardware gets cheaper and we can just throw more chips at the problem." I've been running a 3.5GHz CPU (with 4 HT cores) for nearly 10 years. That's a lot of weeks. Surely, today, I should be able to buy a 10GHz CPU, right? :D
- ajuc 6y agoYou can buy 32 core 3.5 GHz CPU :)
- otabdeveloper4 6y agoThat's orthogonal. You could always scale performance by throwing money at it in the past; the issue here is the promise of "free" performance improvements just by virtue of the natural upgrade cycle.
- ajuc 6y agoI'm pretty sure 32 core 3.5 Ghz CPU wasn't available at all for PC in 2010.
- Tor3 6y agoI believe the point of the poster you replied to was that if you have software running at speed X it won't get particularly faster if you run the same software on a 32-core CPU. Not if the original system also ran at 3.5GHz. I.e. it doesn't get magically faster by throwing more cores at it. It could get faster by better or faster caches etc, and that's valid, but the additional cores don't magically help.
- ajuc 6y agoThat depends on the software. Compiling C++ is basically linear with the number of cores for example.
- changoplatanero 6y agoAnother fun question to ask is what if you were working at a FAANG company and they never bought any more computers?
- amelius 6y agoOr a similar question: what if TSMC magically disappeared.
- helsinkiandrew 6y agoI realise the article is more of a philosophical thought experiment but in the real world those feats took years and huge amounts of effort and money. It’s cheaper to develop faster hardware that can be used again and again than ‘clever’ software that achieves the same on less capable hardware.
- avian 6y ago> Once you understand a system – deeply understand – it can do things that its designers never thought possible. I often wonder to what degree that is possible in modern computers. Their complexity so hugely beyond that of old 8-bit micros that I doubt a single person could completely understand it. I mean to the level it’s possible to understand a BBC micro - what every CPU cycle does, what function every gate in the video output performs, etc. A lot of the improvements listed are due to understanding very minute details of the operation, like timing CPU exactly with the video output, changing palettes and sprites on the fly, racing the CRT beam, etc. With a reasonably modern CPU you can’t even reliably tell in advance how many cycles a simple instruction will take.
- bobthepanda 6y agoEven if you could there are endless permutations of CPU, GPU, and whatnot that you couldn't possibly optimize for all of them. Coupled with the fact that an obvious way to boost profits of a game is to design it to be easily portable across some combination of PC and various consoles, and why would you hyper-optimize a game for hardware? We're in a vastly different world than BBC Micro or the Sega Genesis, where a game targeting multiple platforms is now pretty normal, and if it's not it's usually for business reasons rather than hardware incompatibility. And ports in those days were often from-the-ground rewrites, which I would probably hazard is not true today of most of them.
- rusticpenn 6y agoThere are three approaches Moore's law (doubling of transistors per die leading to improvements), More Moore [1] and More than Moore[2]. The latter two deal with the "what if Moore's law does not work anymore problem". Which is close to what the author talks about. [1] https://www.semiconductors.org/wp-content/uploads/2018/06/5_2015-ITRS-2.0_More-Moore.pdf https://www.semiconductors.org/wp-content/uploads/2018/06/5_... [2] https://ieeexplore.ieee.org/document/1645639 https://ieeexplore.ieee.org/document/1645639
- SllX 6y ago> We don’t necessarily need faster, better hardware. We need more thoughtful, and more creative humans. Money line, but I strenuously disagree. We need both, but thankfully, we have that. Games like Breath of the Wild, Death Stranding, and Kingdom Hearts III; and services like YouTube, TikTok, Twitch, Stadia and Steam wouldn't exist without both. You would have games, you would have services, but you wouldn't have these games and these services without both massive computational power and massive creativity. There's a lot more incentive to get more out of a piece of equipment that will likely never be serviceable by humans again but is still serving a valuable role than there is to get more out of a piece of equipment only ten years old, taking up space and easily replaceable by something that is a capabilities upgrade and quality of life improvement in every measurable way. There's sentimental value to be had in old hardware and a lot of great games that are 30 or 40 years old; and it's entirely possible there's a fair amount of hardware we never exploited to its full potential before replacing it with something much more capable, but that's life, tech and economics.
- mewse 6y agoI can't speak to the services side of your comment, but my professional experience is in games. I worked as part of a team that once backported a game from the Xbox 360 to the PlayStation 2 (512 to 24 megabytes of RAM, much slower CPU, much more limited 'shaders' if you can call VU code 'shaders', etc). The PS2 had 32 megabytes of RAM, but by Sony submission requirements you weren't allowed to touch the bottom 8mb of that. And a lot of the remaining 24mb would be taken up by your program itself, leaving little space in memory for model data, sound, etc. But we did it. From that perspective, it seems to me like there's really very little in Breath of the Wild that couldn't have been done back on the GameCube, if somebody had really wanted to. You just use lower detail models and textures, and maybe adjust the way you stream the world into memory from disk. Similarly, Death Stranding could probably have been made on the original PlayStation (if you didn't care about network features; you'd have to wait for the later PS2 models if you wanted those). And similar for Kingdom Hearts 3. Sure you would have had lower numbers of triangles and less fancy shaders and lower-resolution textures. But the games themselves? The stories and logic and mechanics and experiences? I feel like they'd all be pretty doable on lower-spec hardware, if an experienced team had a mind to try. I guess my point is just that if computers stopped getting faster, you'd still have newer and better and more intricate games being released. Faster computers are absolutely not required for that. They're really only required if you want ray tracing and higher polygon counts and physically based lighting and similar.
- rurban 6y agoWe had this era with Intel in the last decade already. Thanksfully there's not just Intel anymore, and we are making progress again. Progress in SW is much harder. There we are indeed still in the ancient ages.
- kristopolous 6y agoJust recently I got a Pentium 90 up and running using modern software (NetBSD 9.0). Doing a side by side speed comparison against my 3970x threadripper you can see the AMD is ~200-500x faster on a given task. The P90 creeks along running the modern kernel. mpv and mplayer can't play anything smoothly (not even as a .wav file) and mpg321 fires up pulseaudio before it starts playing so that's not happening. In this whole exercise I've learned something valuable: This is all very reasonable. If someone told me they'd spend an immense effort to speed something up by 0.15 seconds I would think them extremely foolish. That 0.15 seconds translates to 60 seconds on the P90. My AMD has literally 1,000 times more memory than the P90. If someone said they spent some enormous effort and took the memory footprint of something from 40MB down to 28MB I'd think they're just doing a hobby but of course on the P90 that's 10% of the memory available. As machines have progressed, the great wins of the past have become nearly unmeasurable noise. The OpenSSH server, for example, a fairly competently written piece of software, takes about 8 seconds to serve me a password prompt. People aren't being foolish or irresponsible or naive in not caring about these things, they're being sensible. Running a Pentium 90 with modern software --- that's the actual unreasonable hobby here. --- Here's me doing a * side-by-side gcc compilation: https://www.youtube.com/watch?v=GUk9f7Nv2dM https://www.youtube.com/watch?v=GUk9f7Nv2dM * trying to play a video I had transcoded to 160x120 in a futile attempt https://www.youtube.com/watch?v=ZMTz5PNpkcw https://www.youtube.com/watch?v=ZMTz5PNpkcw (original video I'm attempting to play is here: https://shop.cpurecords.net/track/sheffield-bleep https://shop.cpurecords.net/track/sheffield-bleep) --- Edit: I'll give y'all access. * telnet bootstra386.com:1994 * ssh bootstra386.com:1995 * user/pass: hn/hn cat /proc/cpuinfo and /proc/meminfo if you want to gawk. I've put some nice things in /usr/pkg/bin. Try not to wreck it.
- StavrosK 6y agoWhat kind of P90 did you find that has 128 MB of RAM? My P100 had 16... It could play (and encode!) mp3s just fine, though.
- kristopolous 6y agoit was a server class machine. It's a Micron tower. I'm using 4 32MB 72 pin EDO modules. I can get a model number if you really want. It also has a PATA card to support the larger disk (I'm using 20GB) and has a PCI USB card to support well, basically anything (it's kinda fun using a wireless keyboard on it).
- bamboleo 6y agoSpeed enables higher lever programming and therefore more people can solve more problems better and faster. Surely you can fix 40-year-old machine with new software, but how long did it take to write that software and how much more could the machine do if it could be upgraded today? Also good luck taking iPhone photos in real time with a Pentium 3.
- arn 6y agoRelated achievement: The original Atari 2600 Pac Man was notoriously bad. Someone made a much better version in 2014. http://retrogamingmagazine.com/2015/09/07/pac-man-on-atari-2600-receives-much-improved-version-by-homebrew-developer/ http://retrogamingmagazine.com/2015/09/07/pac-man-on-atari-2... https://atariage.com/forums/topic/229152-new-pacman-for-atari-2600/ https://atariage.com/forums/topic/229152-new-pacman-for-atar...
- tonyedgecombe 6y agoCurrently the rom is about 120 bytes free, so I'm trying to add other things.
- dehrmann 6y ago> Once you understand a system – deeply understand – it can do things that its designers never thought possible. You can push hardware beyond its apparent limits. The interesting question is how much of a performance gain is there from hyperoptimizing for an architecture, how much from porting your code to C (or maybe assembly), and what's the cost. Considering how much more complex software has gotten than Wolfenstein 3D, the porting cost would be pretty expensive. I'm also not sure if the performance gain would be as good as hoped; compilers have gotten a lot better, architectures have gotten a lot more complex and harder to understand.
- bobthepanda 6y agoI mean, this is still done (not to as absurdly a degree as in the past) with consoles, which for the most part have a few permutations per generation at most. The big thing that would cause a trend away from this would be the demand to target cross-platform. I wouldn't call Windows software particularly optimized, and it wouldn't make sense to do these optimizations for Windows, because there are countless permutations of hardware that can run Windows 10 off the shelf, so optimizing for all of those would be a Sisyphean task. Combine that with the fact that even console games these days are generally targeting cross-platform on multiple consoles and PC, and this type of optimization is largely out of the realm of the possible.
- mhh__ 6y agoThe performance increases from using C these days really come from it forcing you to avoid abstraction rather than access to the hardware. If you imagine the amount of indirection a Python program has just to add two numbers, that's why C is "fast". Compilers are clever, but they generally don't bother and aren't really allowed to look too far away from a given expression or function i.e. Extracting very high level information about even integers still requires manual annotation - GCC and LLVM will happily propagate parity through an expression but declaring an invariant about an integer inside a struct is not possible even with extensions AFAICS The issue we have, now, however isn't that your code (or any code, ideally) is slow but that the depth of the tree from your library call down to the missile launching is too deep. There's just too much crap in between the important stuff.
- throwaway189262 6y agoModern machines are stupid fast. Something like 200,000,000,000 cpu instructions per second. And we're already there. Single core CPU speed has been stagnating for years. We used to get ~1.5x performance boost every 2 years. Today's CPU's are only twice as fast as designs from a decade ago. Everything is going parallel, which buys us some time. But long term, I think the biggest factor will be "slow" programming languages going extinct. When you can't depend on CPU performance constantly increasing, companies will look elsewhere. The 10-50x speed difference in programming languages will become a target. IMO you can already see this happening to Ruby, and Rust. Increasing attention to making low level languages more palatable. And decline of slow languages that don't have other advantages. And I think this is just the beginning with all the focus on energy efficiency. I dare say performance might even become government regulated, like efficiency is for home appliances
- eru 6y ago> I dare say performance might even become government regulated, like efficiency is for home appliances Sounds like a nightmare. But since programming has so far restricted attempts at credentialism-gatekeeping and even unionising, I'm not holding my breath. > IMO you can already see this happening to Ruby, and Rust. Increasing attention to making low level languages more palatable. Or viewed in reverse, attempts to make higher level languages faster. One way to do that is to make sure that the levels of abstraction that exists in the language don't leave much of a trace at runtime. Ie compile the abstractions away. That's more straightforward with more statically typed languages. But the excellent work done on JavaScript engines shows that given enough resources to throw at the problem, being 'slow' or 'fast' is not a property of languages but of implementations. (But the language definitely has an influence on how much implementation effort you need.)
- tester34 6y ago> I think the biggest factor will be "slow" programming languages going extinct. then make this language faster, problem solved :)
- johnisgood 6y agoAre we going to get back to Forth?!
- needle0 6y agoThe final products of those amazing programs that show up late in the platform's lifetime are indeed running on the same hardware, but aren't those programs often developed using faster computers of later periods? For instance, Donkey Kong Country does run on an unmodified SNES purchased on its launch day, but its creation shouldn't have been possible were it not for the Silicon Graphics workstations used to create the art, which was most likely vastly faster than the development hardware used to create the earliest SNES games. Many amazing pieces of code involve pre-rendering or other various forms of precomputation that are extremely computationally expensive but the final result will run on a low-powered machine. What we're seeing on the BBC Micro, MegaDrive/Genesis or other evergreen demo platforms is not "what would happen if computers never got any faster," rather it's more like "what would happen if only the computer running the final product never got any faster." We still need faster, better hardware.
- falcrist 6y agoWell there are a couple responses to that. First of all, just because computers stopped advancing doesn't mean all computers will be the same. You'll still be able to use big, powerful machines as workstations where you write and deploy software for smaller machines. At the same time the N64 came out, there were MUCH more powerful machines you could use. Secondly, there's really nothing in principle that would stop you from creating the late N64 games on less powerful computers. Certainly it would be more clunky to compile and deploy from an older, less powerful machine, but you could still do it.
- tsss 6y agoCertain static analysis is out of the question for sure. You absolutely need a more powerful computer for that, or rather you need more memory.
- needle0 6y agoThat's true in principle, but beyond a certain degree it would leave the realm of practicality, eg. You can pre-render something complex in 3D or do some complex calculations to populate a precomputed table on any computer no matter how slow, and it might be clunky and inconvenient yet still possible if it's merely 2x or 3x slow. But if it's something like 10000x slow doing it would pretty much be out of the question, as real-world projects (even hobbyist ones) are bound by limitations of time and budget.
- rubatuga 6y agoI think the author is misguided by saying "we need more thoughtful, and more creative humans". It's as if the author is lamenting some lost productivity that we would have otherwise achieved as a society by now. Just like how human work naturally fills up the time allotted to it [1], programmers tend to use up the hardware resources to make their apps usable. If time was spent hyperoptimizing, it would not change the computing landscape moving forward. Maybe the author should look into algorithm design and CS research as a way to directly affect the future of computing efficiency. 1: https://en.wikipedia.org/wiki/Parkinson%27s_law https://en.wikipedia.org/wiki/Parkinson%27s_law
- econeuler 6y agoI agree, why not use the resources we have, but, I guess he meant that even though processing power were to stagnate we could still make progress?
- konjin 6y agoThat I can outpace the cursor on a windows desktop in word 365 on a 30 page document and need to stop for a good second for it to catch up with nothing else open on a 8 gb, 4 core, 3GHz machine is so outrageous I don't know how anyone still uses Windows. Computers have gotten so unoptimized for people that a machine from the 80s has better capabilities for the average office worker than one used today. The only reason why we don't use WordPerfect 3.0 is because Microsoft has managed to force planned obsolescence on software and hardware for 30 years for no reason other than they can.
- alliao 6y agoHear hear. I remember when MS Works was so slow I'd type and watch letters appearing. Then Word got better, and got quick, I was almost happy. Then cloud happened, and suddenly now whenever I'm saving a file, I find myself waiting again, to connect to the cloud... I am missing full keyboard system where once you learnt a little you could do everything by touch without touching that mouse.. and I'm missing the snappiness.
- b0rsuk 6y ago
- lifeisstillgood 6y ago>>> Mars is the only planet in the solar system which is entirely populated by robots Yes, but, oh ... yeah :-)
- a9h74j 6y agoSince I just came across this[1]. "The moment the robots realize that the three laws of robotics are just socially constructed norms" [1] https://twitter.com/Thinkwert/status/1325980944654856193 https://twitter.com/Thinkwert/status/1325980944654856193
- Geminidog 6y agoYou would get UIs that get more and more bloated and slower over time. ... Wait a minute.
- mcv 6y agoLately I've been feeling like computers have become fast enough. During the 1990s, the pace of improvement was staggering, and the impact of every hardware improvement was really felt. But these days, I've come to expect a 10-year life from my hardware. My previous PC, now 12 year old, worked admirably for 10 years. It ran The Witcher 2 just fine. It did everything just fine, except for the latest games; after some update, EU4 stopped running well (I kept playing for years on the last version before that performance-breaking update), and I knew I needed a new PC for The Witcher 3. But frankly, the graphics of The Witcher 2 were already stunning. Currently that old PC has become unstable and occasionally crashes or reboots. No idea why. I'd love to get it working again, but it feels a bit pointless for such an old PC. But it feels wasteful to just chuck it out; there are tons of things it can still do. Maybe if I just upgrade the CPU? So do we really need games to continue to demand more and more from the hardware, or should games be made to do more with less? There are excellent games that run fine on lesser hardware. Arguably the best game of the past decades in Minecraft, and it runs fine on my son's crappy school laptop without GPU (though not at very high framerate, and not when he wants to stream). (I'd really like that laptop to last him for ages, but it turns out he needs Blender for school, and rendering Blender movies requires more GPU.)
- mrmonkeyman 6y agoThere is a new wave of games coming which use advanced physics, think destructible voxel worlds, like minecraft but having blocks of 1cm instead of 1m. VR benefits immensely from CPU/GPU overkill and can use any cycle it can get. The status quo you see now is caused by CPU stagnation not the other way around. Once tech finds a way to afford more cycles games and applications will find ways to use them (and not just by wrapping them with Electron :).
- badsectoracula 6y agoAbout your old PC, first try to run a memcheck to ensure the RAM is fine. Then just take it apart and clean everything, add new thermal paste, etc. I did that for my mid-2000s Athlon64 X2 (took apart everything, including removing the GPU heatsinks, etc to clean them) and it works like charm. Now i also need to find a GTX280 or equivalent GPU to fix the PC i bought after the Athlon64 X2 :-P.
- mschuetz 6y agoA large amount of things won't work with the best of software optimizations. You won't be able to decode 4k videos on 20 year old consumer hardware. You won't be able to run games with today's 3D graphics on an N64, no matter how much you're improving the rendering engine. We absolutely do need faster hardware for a whole lot of things, especially multimedia.
- wolframhempel 6y agoI think the opposite conclusion is correct: Hurray, we don't have to dive into the intricacies of hardware and low-level programming anymore, but instead can focus on end-user value and making programming accessible to more people. Sure, building Electron apps is incredibly wasteful and NodeJS' type system allocates way too much memory for something that C++ would be much more frugal with, but who cares? Hardware is cheap, and processing power is cheap. Computers are becoming a commodity layer that simply facilitates human requirements, rather than being the thing that humans have to understand and optimize for. We've seen the same mind-shift happen for storage: remember the pre-gmail days when Microsoft/Yahoo/Your internal IT department gave you 2MB of email storage, and you had to optimize your mail archive to fit this constraint? Do we really want humans that are better at optimizing mail archives? Of course not, we want mail storage we don't have to think about. And the same is true for computation.
- mhh__ 6y agoI think the issue is that rather than making C++ better we have defaulted to relying on the hardware more. C++ is a deeply, deeply, flawed language - using something else isn't hard (and it doesn't have to be Rust). You'd be surprised at the amount of stuff you can get for free if you make it easy to express. My D scripts are usually shorter than my Python one's (and I write code I want to save not just "it'll do"-type scripts, to my detriment), but because we don't teach people anything other than C++/Java/Python (Haskell is very nice but it's too far away to be helpful to this area of software) we falsely imprint a view that performance always cost's expressiveness or development time. The good news is that this trend does seem to be getting better, and it's only going to get easier thanks to widespread use of infrastructure like LLVM and the social acceptance in industry of wacky languages.
- MaxBarraclough 6y agoOn a similar note: we rarely make use of abstractions that 'compile away', instead using abstractions that bring a runtime performance cost. An example of this is declarative GUI design. It's a good design idea to use a declarative language for this, as it helps with GUI design tooling (drag-and-drop editors), and eliminates the bugs that could arise from doing the work 'by hand' in a programming language. Most solutions end up parsing XML (or something similar) at runtime, rather than compiling down to an optimised binary. It's possible to 'have it all', in this instance.
- yitchelle 6y agoThe author's use case is gaming, actually retro games. While that does not benefit so significantly from faster computers, other industries would significantly benefit from computers running as fast as possible. Simple use case of doing a compile to generate a binary. Imagine if that process was only a few milliseconds, C language could be reclassified as an interpreted language. :-)
- badsectoracula 6y agoThat is largely a C issue, Delphi 2 for example can compile a simple text editor application in about a second on a Pentium at ~166Mhz :-P. Though for modern hardware there is Tiny C Compiler [0] which actually can be used as a "C scripting language" - AFAIK you can even embed it in applications for such use. Also TCCBOOT [1] was made in 2004 with TCC that compiles and boots Linux on a Pentium 4 in 15 seconds, so there is that. [0] https://bellard.org/tcc/ https://bellard.org/tcc/ [1] https://bellard.org/tcc/tccboot.html https://bellard.org/tcc/tccboot.html
- a9h74j 6y agoThis is a use-case for D, with a compiler flag to compile-and-run.
- holoduke 6y agoPrograms will be rebuild and optimised many times. Fully written in low level assembly. Probably many different versions for each hardware configuration. Ultra low level hacks will be found to speed up the application. After 50 years they manage to run real-time raytracing on a 486 with some insane unexplainable tricks.
- mhh__ 6y agoAssembly would probably increasingly only be useful to eliminate overhead rather than efficiency, because the CPUs would probably get even harder for a regular human to understand (i.e. the Compiler is probably already better at instruction scheduler than almost all of us, including me)
- amiga1200 6y ago“ We don’t necessarily need faster, better hardware. We need more thoughtful, and more creative humans.” Why not both? Configurable CPUs and a upgradable runtime, all this we have now.
- eru 6y agoAnd a big point of computer is to take the need for creativity out of routine tasks. In that apocryphal story where young Carl Friedrich Gauss's class was asked by a lazy teacher to add up all the natural numbers up to 100, Gauss came up with an ingenious and creative solution. But these days, we don't need to waste the creativity of our best and brightest like that.
- dsr_ 6y agoMy father was working on a math puzzle, and he asked me if I had any insight into it. I said that it would take me days or weeks of remembering/relearning to have any hope of solving it cleverly -- but the search space for the answers was only factorial(10) possibilities, so I could write a program to brute force it. I did. 30 minutes of code writing (of which about 20 was spent making sure I didn't miss something) and then less than 3 seconds of computing time later, I had the answer for him. Nothing clever at all -- just trying all the possibilities and seeing if that set fit.
- pfdietz 6y agoSMT solvers are also fun for that sort of thing.
- eru 6y agoInteger linear programming solvers, too.
- eru 6y agoThat's sometimes fun. But I also had lots of fun solving eg the first few Project Euler challenges with some math and pen and paper. (And sometimes a desktop calculator.) Eg https://projecteuler.net/problem=2 https://projecteuler.net/problem=2 "By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms." has a nice (almost) closed form solution that you only need a few integer multiplications and additions to evaluate.
- colechristensen 6y agoThe wrong take on the right idea. Computer programs are like a gas, they’ll fill up whatever container they are put in. This is unfortunate as computers get faster the programs that run on them tend to get slower at nearly the same rate. Sure some things do grow in capability a whole lot, but much of what we do on computers is the same exchange of text with a bit of decoration that has been done for decades, and yet nothing seems the 1000x better that one would expect. Programs, programmers, and software companies will expand until they run out of resources regardless of how much you give them. There is a real problem there, because there are things which should use negligible resources today which instead use resources akin to yesterday’s supercomputers. Really, I would be quite fine with, say, most websites operating on a technology level of around 1995. Maybe with the improved resolution of today. With most websites I really don’t want any features developed in the last 25 years, plain old hypertext with a few graphics here and there was fine. And yet my web browsers are using far more memory than I had disk space back then.
- alpaca128 6y ago> Really, I would be quite fine with, say, most websites operating on a technology level of around 1995. I would pay for that if it was a feature. The good news is, a lot of old software is still running fine on today's computers and lightning fast compared to modern behemoths. Too bad it's often not very compatible with other people's and organisation's workflows. And the attitudes are sometimes a bit strange because people vastly underestimate the capabilities of certain programs, especially if they run in the terminal. Yes, Vim looks weird at first. But it also doesn't need to spin up a web browser first and starts instantly on pretty much every hardware that you didn't dig out of a museum. Although to be fair I once tinkered a bit with Electron and was surprised at how lightning fast it can be if it's not overburdened. Your comparison with gas is great - it seems optimisation is always done just enough that acceptance from the target audience doesn't suffer too much, and the rest of the performance gain is sunk somewhere in the vast network of dependencies that nobody cared to clean up.
- imtringued 6y agoI can have a web browser with hundreds of non trivial tabs and yet it "only" needs 2GB of RAM. Firefox used to be lean and only need 1GB but then everyone insisted on multi process browsing and it doubled the memory usage.
- emteycz 6y agoThis: https://en.m.wikipedia.org/wiki/SymbOS https://en.m.wikipedia.org/wiki/SymbOS
- visarga 6y ago> We’re so spoiled today. Every week a newer, faster processor is released. Hardware gets cheaper and we can just throw more chips at the problem. That was until 2010, now we've hit the wall with pure single threaded speed and parallel programming is much harder to scale. When you get a faster CPU your software doesn't need to change, but when you want it to run on more cores or machines it becomes a nuanced discussion depending on the algorithm, memory access pattern and networking. We've come full circle and now we need to focus on the software again, to further improve performance.
- imtringued 6y agoAMD's CPUs and Apple's SoCs keep getting faster.
- timbit42 6y agoThe individual cores aren't getting much faster. They are adding more cores, which allows them to say the processor is faster, but more cores means the memory is more of a bottleneck and single core tasks won't be much faster.
- tlocke 6y agoI've sometimes wondered what a hypothetical super-intelligent being could program using a BBC Micro. Perhaps they could exploit the resonances of the circuits to perform analogue computation? I heard that evolutionary algorithms sometimes exploit the physical properties of circuits, and so to control for that there are two computers running the same code at different temperatures. I think they literally put one in a fridge.
- shusson 6y ago> What would happen if computers never got any faster? I think it can be boiled down to the P versus NP problem.
- bregma 6y agoWhat would happen if computers never got any faster? The creativity would still go into the marketing department. We would be getting new 5G computers with Xtreme Speed® that double the performance of last year on proprietary benchmarks that no one understands but can bandy about at parties. The human genius will not be leashed by physical constraints or mathematical limits.
- a9h74j 6y ago> 5G computers with Xtreme Speed® Don't forget the 1nm process still using today's optics.
- sleepysysadmin 6y agoIf you bought a Core I7-990x in 2011 you got 6 cores at 3.47ghz. l3 cache of 12mb. If you bought an average cpu last year it was 6 cores at 3.5ghz. l3 cache of 12mb. The latest chips might have a couple more cores but also tend to be less frequency; or the 6 core is 4.1ghz. Instruction sets havent even changed much. The only thing that really made things faster got killed by Spectre. We really havent increased in speed over the last decade. So what happened? Nothing, nobody noticed.
- sys_64738 6y agoOSs and apps would get more efficient as they are forced to live within the constraints of the hardware. With hardware outpacing software it has only lead to bloat filling in the gaps where performance isn’t an issue as it’s ‘fast’ enough. If you enforce constraints in space and time then we’d return to knowledge of the hardware being primary consideration. Things like Java and python would need to get efficient or eventually die.
- SeeManDo 6y agoDEMOSCENE I don't think anything else needs to be said.
- ilaksh 6y agoThe weird thing that some people don't realize here is that it is kind of already like that. The CPU speed increases every year or two went from orders of magnitude to maybe a hundred percent if you are lucky. The biggest increase recently has been in cores. But still most games for example are heavily dependent on fast individual cores. We are definitely seeing more emphasis on new techniques in AI and graphics and general computing that are more parallel. But also we have not come close to optimizing what can be done with the existing speed. Of course, the computers have been getting faster steadily, just not as rapidly as the previous era. We have not come close to what is possible with the new abundance of cores or the new AI-specifix hardware. And 3D circuits have barely gotten started.
- scott-smith_us 6y ago> "Mars is the only planet in the solar system which is entirely populated by robots from Planet Earth." I guess this is really saying that there are no active probes on the surface of any of the other (inner/rocky) planets. This strikes me as a very roundabout way of saying this; as though the population of the other planets (besides Earth) included humans or alien robots...