When you talk about "efficiency", you probably mean the subjective audio quality one codec offers at a given bit rate, i.e. how humans perceive the quality of a sound under certain conditions.
Now, there are far too many codecs to be able to compare those. Today, the most relevant are:
In the future we might see Opus getting more exposure as well—it is specifically targeted at low bitrates.
In general, you can say that the AAC family of codecs is much more efficient than MP3. It is probably the codec of choice for most of today's applications.
There are various versions of AAC, depending on what features are used. Those are called "profiles". Particularly well known are AAC-LC (low complexity) and HE-AAC (high efficiency). The European Broadcasting Union (EBU) has published a detailed technical review of HE-AAC v2 in 2006, which gives more details about the implementation, its differences from "normal" AAC-LC and compares it to other codecs.
Also, MP3 is quite easily outperformed by AAC and Vorbis in low-bitrate scenarios.
Often, a codec specification only tells you how to decode (i.e. how to structure and parse the bitstream). This means there are no limits on how to write an encoder. Because of that, you can experience drastic differences in the subjective quality between two different MP3 encoders, for example. The same goes for AAC and Vorbis as well.
Since encoders are not standardized, there's quite a bit of competition on the market, and in some cases, "market leaders" have emerged, such as LAME in the section of free MP3 encoders, or FAAC for free AAC encoders (although fdk-aac is supposed to be better). Of course, commercial encoders such as the Fraunhofer MP3 encoder or the Nero AAC encoder exist as well.
It ultimately comes down to personal preference. Naturally, you can't objectively evaluate how "good" an encoder is. You need to get a number of people and have them listen to sound examples. This is called a codec listening test. There are multiple variants of tests, depending on what exactly you want to find out, e.g.:
- Is codec A better than B? (For example, if AAC is better than MP3 at low bitrates)
- Which codec is the best? (For example, all kinds of codecs are sorted by preference)
The possible combinations are near endless, and of course these tests are carried out with specific encoders (e.g. FAAC) rather than just testing "AAC" as a codec. As those tests take time and careful preparation, and the results cannot be summarized in one sentence, I suggest you take a look at Wikipedia's result section, where quite a number of test results have been publicized.
Depending on your application, you will find the "most efficient" format under the winners there. For example, here's a listening test taken from the EBU tech report I linked to above, which shows how AAC generally outperforms MP3 and Windows Media Audio at 48 kBit/s (low bitrate):
Another report from the EBU is available, which gives you even more details about the actual test, including the codecs and test settings involved.