From what I have seen I feel the ArduinoESP is the most efficient.
Lua is very interesting but I get the impression it is an interpreted language running on the SOC. There is some overhead like when running Qbasic. I've been reading about interfacing the DHT11/22 chips and I read that some had experienced what seemed to be timing problems in their loops. On the good side iterative development is quick. Lua is a great way to get your feet wet but would start to bog down in big projects.
SDK and gcc will probably generate the tightest code but I haven't heard of an IDE for it and I get the impression there is a lot of work up front getting the programming environment set up.
ArduinoESP is about a 3 step process to get to up and running in a usable IDE and you can have a sketch written to a properly connected system in minutes. The code is all generated by the compiler like the SDK, maybe not quite as efficient but the ease of use of the IDE makes up for it. Another plus is most developers that gravitate to the ESP8266 are likely to already have experience with Arduino and moving to writing ArduinoESP is a simple step.