我在C ++中有一个MMORPG服务器,我从来没有在我的观点之前完成脚本我认为如果我在旅途中解析脚本会降低服务器的整体性能(我还没有测试过)虽然),但我希望有这样的功能。
您建议/使用的多线程环境有哪些优秀的脚本技术?一本书或一篇文章也不错,最好与C ++相关,但我不介意其他语言。
感谢。
答案 0 :(得分:2)
我相信大多数常用的脚本语言都会将解析作为执行的单独步骤执行,因此这不会是一个显着的性能成本。通常它们编译为某种字节码格式(例如,Python,Lua和Perl都这样做),并且通常可以将该格式序列化并直接从磁盘加载。
有脚本语言的实现可以编译为本机代码。例如,您可以尝试使用javascript和Google的v8引擎(据我所知)在执行之前将所有内容编译为本机代码。
当然,v8是在Chrome中使用的,这是一个多进程环境,因此我认为它在多线程环境中可以很好地工作(虽然我不能要求个人体验)。还有一些JIT编译器用于通常编译为字节码的语言(例如,Psyco用于python,而LuaJit用于Lua)。这些通常与最新版本的主要语言版本不同步。
答案 1 :(得分:2)
我想你想查看Node.js。
这是一款基于谷歌V8引擎的高性能多线程引擎。它速度极快,可以扩展到很高的水平。