Your times, will never be the same, because every single time you execute your program, the conditions on the machine are different, the OS process/thread scheduler, ram assigned and freed again, as well as other task the system might be doing, like reading a heavy file from disk, swapping.
Kurtis Nusbaum already pointed out the meanings of real,user and sys, I'll just clarify real: is the total time to execute the program so if by chance your disk is under heavy operation, the total time will be bigger when your program reads data. So it does NOT measure efficiency but just elapsed time. user + sys time would be a better efficiency meter.