New here?
Create an account to submit posts, participate in discussions and chat with people.
Sign up
27
posted 1 month ago by Uncle_Adolf on scored.co (+0 / -0 / +27Score on mirror )
You are viewing a single comment's thread. View all
PurestEvil on scored.co
1 month ago 0 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.
Toast message