高负载服务器的脚本编程策略 我有一个C++的MMORPG服务器,我从来没有做过脚本,我认为如果我在GO上解析脚本(虽然我还没有测试过),它会对服务器的整体性能造成影响,但是我想拥有这样的功能。

高负载服务器的脚本编程策略 我有一个C++的MMORPG服务器,我从来没有做过脚本,我认为如果我在GO上解析脚本(虽然我还没有测试过),它会对服务器的整体性能造成影响,但是我想拥有这样的功能。,c++,multithreading,scripting,C++,Multithreading,Scripting,对于多线程环境,您建议/使用哪些好的脚本编写技术?一本书或一篇文章也会很好,最好与C++相关,但我不介意其他语言。 谢谢。我相信大多数常用的脚本语言将解析作为执行的一个单独步骤来执行,因此这不会是一个显著的性能成本。通常,它们编译成某种字节码格式(例如Python、Lua和Perl都可以这样做),并且通常这种格式可以序列化并直接从磁盘加载 有一些脚本语言的实现可以编译为本机代码。例如,您可以尝试javascript和Google的引擎,据我所知,它在执行之前将所有内容编译为本机代码 v8当然在C

对于多线程环境,您建议/使用哪些好的脚本编写技术?一本书或一篇文章也会很好,最好与C++相关,但我不介意其他语言。
谢谢。

我相信大多数常用的脚本语言将解析作为执行的一个单独步骤来执行,因此这不会是一个显著的性能成本。通常,它们编译成某种字节码格式(例如Python、Lua和Perl都可以这样做),并且通常这种格式可以序列化并直接从磁盘加载

有一些脚本语言的实现可以编译为本机代码。例如,您可以尝试javascript和Google的引擎,据我所知,它在执行之前将所有内容编译为本机代码

v8当然在Chrome中使用,Chrome是一个多进程环境,因此我认为它在多线程环境中可以很好地工作(尽管我不能说这是我个人的体验)


对于通常编译成字节码的语言(例如python和Lua),也有JIT编译器。但是,这些版本通常与最新版本的主语言发行版不同步。

我想您想查看一下


它是一个高性能多线程引擎,建立在谷歌的V8引擎之上。它的速度非常快,并且可以扩展到更高的级别。

显然,您首先应该了解的是Lua,它在游戏脚本中非常流行。我了解了Lua,但我找不到它如何在多线程环境中使用的示例,同时将性能开销降到最低,也无法即兴使用它