网游服务器技术-语言选择

仔细算算,参加网游开发已经3年多了。虽然参与最多的,都是逻辑玩法部分的开发,但是对于服务器的架构,逐渐有了点认识。
13年年底,利用工作之余自己编写了个简易的服务器框架。而最近又看了看nodejs,打算重新整理下思路,对服务器框架进行重构。
于是就有了这几篇关于服务器的文章,希望是最自己知识的总结,也是希望有所沉淀。

编写一套网游服务器引擎,首先就需要选择好语言。而我选择的是纯python。
编程语言多达上百种,适合服务器开发的有:python,lua,c,c++,c#,javascript,erlang,go。语言真是层出不穷。
而服务器开发,需要的语言应该具备的特性有:
1、不错的执行性能
2、方便快捷并且高效的开发速度
3、代码热更新
4、可调试性

以上面列举的几种语言为例(erlang不在本次讨论范围,因为我没看过,也不懂):
1、执行效率:
这个C无疑是最佳的。C++,go也不错。据说go是下一代C/C++。目前从网络资料上来看,go的性能也不差。
js因为google V8的存在,现在nodejs流行的一塌糊涂。C#虽然性能不及C,但是安全性强太多。
lua效率不错,但是需要一个主语言来支撑。python是这里面效率最差的。地球人都知道。
所以,很多公司采用的是:  C/C++与lua的组合。或者nodejs。
我经历过的两家游戏公司中,一个是C++与lua组合,一个是C++与python组合。我在这两家公司都做过服务器的性能优化。
最后得出一个结论:影响执行效率的往往不是语言,而是逻辑玩法与架构。目前来说,很多人一提到python就说这语言垃圾,效率太差等
我可以很负责任的告诉你,如果你的游戏最高在线低于1百万,你完全可以放心的使用python。当然了,前提是你要会用python,
而不是完全不计后果的胡乱编写。就算是用C,如果在编写规范上不合格,你的服务器效率说不定还不如python。
除非是你的游戏规模达到了百万级,否则,千万不要以为服务器慢就算语言的问题。
你的编写是否规范,架构是否合理,都可能成为性能瓶颈
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值