4 ms·
> is so old Indeed - looks like the older the software, the more efficient it is.
by Koshkin 5y ago
> is so old
Indeed - looks like the older the software, the more efficient it is.
- hnlmorg 5y agoThat's a fun comment people like to quote but as someone who's been writing software since the DOS days, I can tell you it's not really true. - Older software might run less efficiently on newer hardware because they don't support newer hardware (eg CPU opcodes) and thus perform the same calculations in software. This is most visibly true with games that are software rendered in DOS rather than hardware rendered. - Older software might not take advantage of smarter algorithms that have been discovered more recently. This is best observed in the modern demo scene - Older software might run faster but that might simply because they don't support modern requirements (eg cryptography, memory protection, or even error / crash handling). This is probably the closest to the "efficient" argument but I'd counter by saying the code isn't "more efficient", it's "less functional". Sometimes less functional is exactly what you want (eg why spin up Microsoft Word if all you want to edit is a plain text file) but it's still not the same as saying "more efficient".
- csnover 5y agoThese are all great points. Something else I would add to the list is that older software would often run using a busy loop[0]. This was ‘fine’ on contemporaneous CPUs that didn’t have any low-power modes, but on a modern CPU it means that older software will use 100% of one CPU core and force it to stay running at its maximum frequency while doing no work at all. [0] https://en.wikipedia.org/wiki/Busy_waiting https://en.wikipedia.org/wiki/Busy_waiting
- hnlmorg 5y agoI'd say that's covered under the first point since it's a newer added hardware instruction (`HLT` I believe). But it's definitely another very good example of the first point.