高负载服务器的脚本编程策略

时间:2011-03-08 01:29:35

标签: c++ multithreading scripting

我在C ++中有一个MMORPG服务器,我从来没有在我的观点之前完成脚本我认为如果我在旅​​途中解析脚本会降低服务器的整体性能(我还没有测试过)虽然),但我希望有这样的功能。

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

感谢。

2 个答案:

答案 0 :(得分:2)

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

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

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

还有一些JIT编译器用于通常编译为字节码的语言(例如,Psyco用于python,而LuaJit用于Lua)。这些通常与最新版本的主要语言版本不同步。

答案 1 :(得分:2)

我想你想查看Node.js

这是一款基于谷歌V8引擎的高性能多线程引擎。它速度极快,可以扩展到很高的水平。