Live data from Hacker News

How might software development have unfolded if CPU speeds were 20x slower?

news.ycombinator.com

1–10 of 161 posts

How might software development have unfolded if CPU speeds were 20x slower?

#1
I was pondering how internet latency seems to be just barely sufficient for a decent fast-paced online multiplayer gaming experience. If human cognition were say, 20x faster relative to the speed of light, we'd be limited to playing many games only with players from the same city. More significantly, single-threaded compute performance relative to human cognition would effectively be limited to the equivalent of 300 MHz (6 GHz / 20), which I suspect makes it a challenge to run even barebones versions of many modern games.

This led me to wondering how software development would have progressed if CPU clock speeds were effectively 20x slower.

Might the overall greater pressure for performance have kept us writing lower-level code with more bugs while shipping less features? Or could it actually be that having all the free compute to throw around has comparatively gotten us into trouble, because we've been able to just rapidly prototype and eschew more formal methods and professionalization?

Re: How might software development have unfolded if CPU speeds were 20x slower?

#3

A lot more chess games online instead. Probably higher IQ as the IQ lowering social media we use would barely work.

Everything is optimized for efficiency, size and speed. Like it was in the early days. With sparkles in creativity for finding a way to achieve O(n)

I think the only solution to the problem is to keep the memory and disks space very low.

Re: How might software development have unfolded if CPU speeds were 20x slower?

#5

> If human cognition were say, 20x faster relative to the speed of light What would that even mean, being 20x faster than the speed of light? What does it imply?

'Relative to' rather than 'faster than', as in the speed of light being 20x slower or human perception and reflexes being 20x faster, or some mix of the two. If people were thinking way faster then the lag would be unbearable, and there would be no way around it.

Re: How might software development have unfolded if CPU speeds were 20x slower?

#6
We'd still be using triple-DES to protect data, arguing that the NIST time to break it was still far out beyond. And hash functions would be like the CRC32 in TCP, not the modern stuff.

CISC computers which did more in parallel per instruction would be common because they existed for concrete reasons: the settling time for things in a discrete logic system was high, you needed to try and do as much as possible inside the time. (thats a stretch argument. they were what they were, but I do think the DEC 5 operand instruction model in part reflected "god, what can we do while we're here" attitudes) -We'd probably have a lot more Cray-1 like parallelism where a high frequency clock drove simple logic to do things in parallel over matrices, so I guess thats GPU cards.

Re: How might software development have unfolded if CPU speeds were 20x slower?

#7

A lot more chess games online instead. Probably higher IQ as the IQ lowering social media we use would barely work.

Sounds right to me. Without being able to rely on flashy visuals and low-latency so much, games would've had to be somewhat more strategic and intellectual to sell (although I imagine graphics would eventually catch up due to its fitness for parallel processing). Even if brain rotting visual spectacles were just pushed 7 years down the line, they still would probably have a more sophisticated flavor that might be cemented with time (e.g. this counterfactual TikTok might have given users much more direct control over their feed algorithm).

Re: How might software development have unfolded if CPU speeds were 20x slower?

#10
One way to answer this question is to look at the software produced when clock speeds were 20x slower.

The limitations, and features we had then are a minimum starting point.

So I'm thinking around the era of a 486 100mhz machine. We'd have at least that (think mylti-player Doom and Quake era as a starting point.)

We had Windows, preemptive multi threading, networks, internet, large hard drives, pretty much the base bones of today.

Of course cpu-intensive things would be constrained. Voice recognition. CGI. But we'd have a lot more cores, and likely more multi-thread approaches to programming in general.

Post reply on HN