You are viewing a single comment's thread. View all
0
PurestEvil on scored.co
1 month ago0 points(+0/-0)
Just to highlight a parallel to programming:
We know that hardware capabilities improve exponentially over time, like double the effect every ~2 years. But improving an algorithm can yield extreme improvements. A simple example:
Imagine you have a list that roughly has 1000000 objects at a time. You continually add and remove objects from that list. If you want to find a certain object, you'd need to iterate 1 to 1000000 objects every time, so ~500000 on average.
Alternative: You use a dictionary. It uses a different logic than a list. Like using a notebook vs memory cards to store information. What it can is that each entry can store a key like a name, ID or whatever. And if you have that key, you can almost instantly get or remove that object. No longer you have to iterate ~500000 on average, but get to it with 1 step.
This improved technique yields an improvement of 50000000%. In order to get that improvement you'd need to wait 38 years for hardware to improve, assuming it would actually double in efficiency, and each time whatever is added with each doubling is also doubled.
Anyway, technique is important. But it doesn't have the crazy exponential pattern as in computers. So strength matters a lot too.
We know that hardware capabilities improve exponentially over time, like double the effect every ~2 years. But improving an algorithm can yield extreme improvements. A simple example:
Imagine you have a list that roughly has 1000000 objects at a time. You continually add and remove objects from that list. If you want to find a certain object, you'd need to iterate 1 to 1000000 objects every time, so ~500000 on average.
Alternative: You use a dictionary. It uses a different logic than a list. Like using a notebook vs memory cards to store information. What it can is that each entry can store a key like a name, ID or whatever. And if you have that key, you can almost instantly get or remove that object. No longer you have to iterate ~500000 on average, but get to it with 1 step.
This improved technique yields an improvement of 50000000%. In order to get that improvement you'd need to wait 38 years for hardware to improve, assuming it would actually double in efficiency, and each time whatever is added with each doubling is also doubled.
Anyway, technique is important. But it doesn't have the crazy exponential pattern as in computers. So strength matters a lot too.