lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Nick Trout wrote:
> IMHO I'd tackle a few 32 bits architectures before going to 64.

I added x64 to the list primarily because it's a straightforward
port from x86. It's not more difficult to port LuaJIT to a new
64 bit architecture than a 32 bit one.

But I realize that some embedded 32 bit targets need the speedup
much more than a high end 64 bit server.

> Not sure what benefit you'd get from SIMD enhancements at Lua level.

You are probably referring to my remark about SSE2 support.
I guess this is a common misunderstanding about SSE: this ain't
just a better MMX. It's a complete set of new registers that's
very useful for scalar floating point operations, too.

SSE/SSE2 is quite a bit faster and easier to use than the
awkward x87 stuff. And I would need it for x64 anyway (where
it's the designated FP unit to use).

But tuning FP arithmetics is not on top of my TODO list. This is
already pretty fast (see the benchmark results). The next version
of LuaJIT is able to inline many of the C functions from the
standard library. I've already added the math.* functions and
this gives another nice boost (e.g. math.abs() is 6 times faster).

> SIMD is probably done better through Dynasm as some extension library

Well, this is not on my horizon, yet. But a generic mechanism
to embed machine code from the Lua side would be pretty nice.
Better than coding in C and/or writing C inline assembler (which
is hard to use and non-portable across compilers).