Mining difficulty adjustments are made by comparing the standard time it should take to find 2,016 blocks of transactions on the Bitcoin network to the time it took to find the last 2,016 blocks. Keep in mind that the accepted block time is 10 minutes. Therefore, the expected time for mining 2016 blocks is 20,160 minutes (that is, 2016 X 10 minutes). The network calculates the total time it takes to mine the last 2,016 blocks. The ratio of the standard 20,160 minutes (10 minutes x 2,016 blocks) to the time it took to scale the last difficulty epoch is then multiplied by the most recent difficulty level. The calculation yields a result that will determine the required percentage change in the mining difficulty that will bring the block time to the desired 10 minutes. That said, an error in the original Bitcoin protocol makes difficulty level adjustments based on the previous 2,015 blocks instead of the theorized 2,016 blocks. While a 10-minute block time is the goal, the mining difficulty cannot be altered above or below four times the current difficulty level. The upper limit for each difficulty epoch is a +300% change, while the lower is a -75% alteration. This rule is put in place to eliminate any abrupt changes in mining difficulty.
That's a good write-up of how the difficulty adjustment works!
The difficulty adjustment offsets ASIC efficiency gains though, was my point. So it doesn't matter at which level of efficiency the average ASIC is. The difficulty adjustment just counter-balances to make things harder. The available electricity to mining will be used up regardless of the hashrate.
The only significant thing with efficiency is that investing in more expensive and efficient ASICs gives a mining operation a temporary edge over the competition, until that level of hardware becomes a commodity.
Please let me know if I'm overlooking something.