For some reason, straight raw performance and theoretical computer science are not really friends, nor is it expected that they should be. To a certain extent, I understand why. Science at a university is done for the sake of the knowledge. Since there is no time-to-market, many things established professors do or make you do are not really efficient or market-ready... But... I am HPC Cluster admin at a university, and sometimes I wish scientists were a little bit more trained in real-life CS.
Case in point: Many years ago, I happened to look at the source of a project running on our cluster. It was written in Free Pascal. The argument of the professor responsible for the project was that algorithmic complexity is all that counts when thinking about runtime. Compilers optimizing for a target architecture was not part of his understanding of the world. And since I had nothing to do on the weekend, I reimplemented their code in C++. And yes, the resulting code was 5x faster, just by making use of a battle-tested compiler. Turns out a speedup of 5x is relevant to a project that was projected to use 5000000 hours CPU-core time...
I was rather young at that time, which surprised me even more. It was pretty clear to me that this rewrite would bring a noticeable performance boost. To this day, I sort of wonder how you can end up with so much theoretical knowledge that you tstart to completely ignore reality.
Case in point: Many years ago, I happened to look at the source of a project running on our cluster. It was written in Free Pascal. The argument of the professor responsible for the project was that algorithmic complexity is all that counts when thinking about runtime. Compilers optimizing for a target architecture was not part of his understanding of the world. And since I had nothing to do on the weekend, I reimplemented their code in C++. And yes, the resulting code was 5x faster, just by making use of a battle-tested compiler. Turns out a speedup of 5x is relevant to a project that was projected to use 5000000 hours CPU-core time...
I was rather young at that time, which surprised me even more. It was pretty clear to me that this rewrite would bring a noticeable performance boost. To this day, I sort of wonder how you can end up with so much theoretical knowledge that you tstart to completely ignore reality.