Jump to content

TheXerxes

ED Closed Beta Testers Team
  • Posts

    16
  • Joined

  • Last visited

2 Followers

About TheXerxes

  • Birthday 10/04/1991

Personal Information

  • Flight Simulators
    DCS, Falcon BMS
  • Location
    /dev/null

Recent Profile Visitors

554 profile views
  1. Hello, I'd like to suggest an improvement for both DCS stable and openbeta versions. When a client attempts to connect to a server with a different DCS version, they should receive a specific error message indicating a version mismatch, rather than the current 'server offline' message, which can be misleading. Additionally, it would be helpful if there was a guide for users. For instance, if someone using the stable version of DCS tries to join a server running the openbeta version, there should be instructions on how to switch their version to openbeta to facilitate connection. Best regards, Xerxes
  2. To clarify, the original Lua project (found at lua.org) and LuaJIT (available at luajit.org) are distinct projects. LuaJIT enhances Lua 5.1 compatibility by offering substantial performance improvements, both with and without its Just-In-Time compilation features, compared to the standard Lua 5.1 implementation. Assuming that a system like DCS relies heavily on Lua's table structures, which are dependent on Lua's hashing functions and internal mechanisms, a switch to LuaJIT would lead to more efficient table access. This is because LuaJIT not only compiles the code for reading tables, resulting in smoother linear execution but also employs a more efficient and better-distributed hashing algorithm (https://en.wikipedia.org/wiki/Hash_function). Regardless of whether DCS utilizes Lua solely for its hash tables, which it doesn't, LuaJIT has the capacity to speed up both the lexing/parsing phase—which translates the program's text into a form the computer can process—and the performance of table operations. It is important to mention LuaJIT's performance in calling C and C++ functions is better than Lua 5.1 too, so switching to it will boost communication with DLLs and compiled part of DCS. The best thing is that LuaJIT is C API compatible with Lua 5.1 C API, so it is possible to use it as a drop-in replacement in DCS with some small changes. The other positive point is that LuaJIT is well battle-tested, companies and organizations like Cern, Cloudflare, and Cisco are notable users of it. I would love to hear from the DCS development team.
  3. DCS is still utilizing Lua 5.1, which is both unsupported and obsolete. Alternatives such as LuaJIT and Luau offer drop-in replacement compatibility with the Lua 5.1 API and present significant advantages. LuaJIT, in particular, stands out due to its remarkable performance, which you can evaluate in the provided benchmark at this link: https://eklausmeier.wordpress.com/2020/05/14/performance-comparison-pallene-vs-lua-5-1-5-2-5-3-5-4-vs-c/ . LuaJIT is about 19 times faster than Lua 5.1 in the provided benchmark. LuaJIT elevates performance by compiling Lua code directly into machine code during runtime, bypassing the virtual machine (VM) approach inherent to Lua 5.1. This can lead to execution speeds on par with C and C++ in certain scenarios. Additionally, LuaJIT enhances Foreign Function Interface (FFI) calls, which could notably optimize the interactions between C++ and Lua within your project. Given these points, I strongly suggest transitioning to LuaJIT or Luau to modernize and boost DCS's runtime efficiency. This change is likely to yield a significant improvement in both frame rates and server mission performance without breaking compatibility with the available Lua code base. Best Regards, Xerxes of Shadow Reapers
×
×
  • Create New...