# All of voider1's Comments + Replies

Could you give an example of how you'd make a Fermi estimation of a program's runtime?

4johnswentworth2y
To Aysajan's answer, I would add that "number of calculations a program needs to run" usually comes from a big-O estimate for the data structures involved, and the size of the data we're using. So, for instance, if I'm looping over a list with 1k items and doing a thing to each, then that should take ~1k operations. (Really the thing I'm doing to each will probably take more than one operation, but this is a Fermi estimate, so we just need to be within an order of magnitude.) If I'm looping over all pairs of items from two lists, then the number of operations will be the product of their sizes.
4aysajan2y
For instance, a computer's CPU is measured in GHz, which is a proxy for the number of calculations the CPU can run per second. So it is about one billion (109) calculations per second. Now let's suppose the number of calculations your program needs to run is 106, then you can make a Fermi estimation about the program's run time as 106109=10−3, which is millisecond. Usually we would expect the actual run time will be within an order of magnitude of this estimation.

Interesting. I have used multiple different approaches with Anki. Last year I had to learn all pre-university math to enter uni, and I decided to use Anki which worked out pretty well. For a lot of the problems it's about remembering what steps to take in general. So I put in practice problems so I could remember the steps. The numbers don't matter, they could've been anything.

I also tend to put in definitions, rules, theorems, standard and harder derivatives and primitives.

Now I'm in uni and I used Anki for learning linear algebra, I mostly te...

To me it seems that the world couldn't have turned out any other way, but it's useful to think about it as if it could in the moment. The decision you're ultimately making after careful consideration is the one you'd make, no matter how many times you'd rewind time. Having the ability to make a choice doesn't oppose determinism and its ramifications. With the right input you'll produce the right output.