I've been involved in quite a bit of hardcore algorithm R&D. In no case where material advancements were made was it possible to really bring it to market in five years from inception. Computer science has the same inertia for how things are done as any other industry. Altering the way things are done and getting uptake requires a surprising amount of time no matter how good the advancement. Which roughly matches most other patentable subject matters.
I'm not saying algorithm patents need to be 20 years but most software engineers have no idea how long it actually takes to commercialize material algorithm advancements. It looks a lot more like industrial patents than most programmers seem to assume. And many algorithm patents have millions of dollars in R&D invested in them; I have been involved in several such examples.