3 ms·
Well, in driving, the ultimate time ratio would not be a million fold or even close, even taken over the entire lifetimes of driver 1 and 2. An extreme differen
by ramanujan 15y ago
Well, in driving, the ultimate time ratio would not be a million fold or even close, even taken over the entire lifetimes of driver 1 and 2. An extreme differential would be 10X.
There are a few different ways to formulate the comparison in CS. For simplicity, consider a one-time eigenvalue computation on a large matrix (used for Pagerank and many other things). You could measure the total time from sitting down at the computer to having the numbers flow out onto the monitor. Let's consider the ratio of total time taken by skilled programmer one vs. unskilled programmer two.
The first obvious point is that many unskilled programmers wil not even be able to formulate the problem, leading to a ratio of infinity (i.e. any solution by programmer one will be infinitely faster than no solution).
Contrast to the driving example. Legions of smart engineers have made driving as simple as turning a key. So driver one and two will both be able to get started.
You can continue the analogy. As the size of the matrix gets larger, some programmer twos will get bogged down in trying to compute every eigenvalue, while programmer one uses something like the Arnoldi-Lanczos algorithm to pull out only the ones they need. Depending on matrix size this can quickly become literally one million times as fast as the naive solution.
This is not a theoretical example, but very similar to the tech behind Kaltix, one of Google's first acquisitions. It's not too hard to find many more examples. Moreover, this is for just one problem; when accumulated over time as in the hypothetical driver comparison, the ratios get even greater.