I do a few test in mushclient with luajit engine (v2.04) and just want to share some my experience.
first of all, mushclient showed perfect compatibility with luajit, I just replace the original lua5.1.dll with luajit, so far everything works fine. Some modules I used a lot, such as addxml, wait, sqlite interface all works perfect! Thanks Nick, I love mushclient.
second the performance test, I calculate the static path with BFS algorithm, there are around 5600 rooms in sqlite database, this is the heaviest application I can find in my program, which used 20 seconds with original lua5.1 engine shipped with mushclient 5.0, and 14.7 seconds with luajit, around 25% performance increase.
finally, I won't move to luajit because:
1-I have no performance issue so far with original lua engine, the speed is enough for me.
2-luajit don't support un-defined functions when compile to bytecode, but original luac support. This means I can not pre-compile all my programs to bytecode if there are functions provided by mushclient, but no problem work with source file.
3-luajit don't support combine multiple input files when compile to single bytecode file where original luac supports. This is important to me since I like combine all my programs to 1-2 files, which avoid too many files when share with my friends.
first of all, mushclient showed perfect compatibility with luajit, I just replace the original lua5.1.dll with luajit, so far everything works fine. Some modules I used a lot, such as addxml, wait, sqlite interface all works perfect! Thanks Nick, I love mushclient.
second the performance test, I calculate the static path with BFS algorithm, there are around 5600 rooms in sqlite database, this is the heaviest application I can find in my program, which used 20 seconds with original lua5.1 engine shipped with mushclient 5.0, and 14.7 seconds with luajit, around 25% performance increase.
finally, I won't move to luajit because:
1-I have no performance issue so far with original lua engine, the speed is enough for me.
2-luajit don't support un-defined functions when compile to bytecode, but original luac support. This means I can not pre-compile all my programs to bytecode if there are functions provided by mushclient, but no problem work with source file.
3-luajit don't support combine multiple input files when compile to single bytecode file where original luac supports. This is important to me since I like combine all my programs to 1-2 files, which avoid too many files when share with my friends.