Xavier Wang wrote: > I'm wondering are there any list of NYI functions or operator in LuaJIT. For the library functions, you can have a look at the LJLIB* macros in lib_*.c. If there's no LJLIB_REC(), then the call isn't JIT-compiled. Even if it's JIT-compiled, some special case may not be compiled, which you can see by looking for 'nyi' in e.g. recff_tonumber() in lj_ffrecord.c. For the operators, you can look for LJ_TRERR_NYIBC in lj_record.c. The FFI has an extra section, listing the major NYI items: http://luajit.org/ext_ffi_semantics.html#status [ Since I'm totally swamped with work right now, it would be highly appreciated, if someone got the time to make a table of all library functions in the LuaJIT wiki and add their JIT compiler status: yes/no/partial. I'll fill in the gaps, when needed. BTW: Yes, the wiki supports pretty HTML tables. See the bytecode page. Alas, I haven't finished reformatting and updating it, yet. ] > [...] base64 [...] > so I changed to use ffi, and bit, and something alse, [...] > after I solved buffer, string.match and all other things, luaJIT > compiles my code now. and it's 2x faster than C++'s :-) Actually, going for the FFI would be my first thought to make base64 fast. String concatenation and string.* won't get even close, performance-wise. The relatively high abstraction overhead probably cannot be reduced, even with a lot of effort. --Mike