Lua really is a lot faster than Python, I know because I measured, and had to ditch Python after it became long in the tooth on certain computations running on an iPod touch. Another, less noted performance criteria, Lua fits with all of it's libraries in about 250kb, Python is comparatively enormous. This makes a difference on mobile devices.
Keyword is 'computations'. As I said - lua is good at numbercrunching. Definitely better then python.
But lua have it's own weak points, performancewise. For example iteration over table.
It is slower then the one in python. Call of closures is also slower, because of the way closures done in lua.
IMO table is overall weakest point in lua. 1 based array index? wtf?
Assign nil to erase item? wtf?
Lua's C interface is also very fast (where did you get the impression it is slow?
There is one thing in C interface that makes things a little ugly.
If you inject your object along with some methods into lua, in each
method wrapper you have to check type of 'self' to match your object's type.
Because there is no such thing as method, there are only functions,
and they can be called with any table as 'self' value.
PS> Have you tried to use Python's native bindings? If you think that Lua's C interface is inconvenient, then what adjective is reserved for Python?
I haven't used python for embedding, only as standalone language.
I find making C modules for python easy.
IMO if you care SO MUCH about performance of scripting language, you probably using it for wrong thing.
I know about performance of lua and python because I work on my own scripting programming language,
and I have to compare performance of various basic things, to make sure I'm doing everything right.
P.S. performance is important, but it's not the most important thing for scripting language. The most important, IMO, is ease of use. This is where python is far better then lua. There are several IDE's for python, but I haven't seen at least one complete for lua.