Compile Function

I noticed that if you right click on a higher-order list function, it gives you the option to "compile" it. What exactly does this do, and would it be possible to do that to an entire program, such as one that calculates pi? Thanks!.

It makes it faster