为什么python很少用来写网游服务器端
其实很简单,主要是因为python的使用场景是一些比较简单,并发量低的,对速度要求不是很高。网游服务端,交互量会很大,实时性要求很高,python这种解释性动态语言,较java、C++并不占据优势。
应该和python没关系,是要处理的文件的问题。有点麻烦要看是哪里出的问题,脚本有问题的可能性不大。如果确定只是换行符有问题,在linux下用dos2unix命令可以把要处理的文件从windows格式转成linux的换行格式。不过也就只能做这一件事而已,不确定其他地方有没有问题。
不过如果你的脚本在windows能正常工作,那么linux也应该OK,脚本本身应该是没问题的。
不过,既然接受了Python的简单易用和快速开发优势,作为tradeoff,就要学会接受和处理Python的一些缺点。用django作数据服务器两年多,确实会有一些性能问题。
1异步django的http请求是同步的,通过gevent的协程来实现异步就解决了,很快。
2缓存和队列用ZeroMQ、Memcached来做缓存和队列就解决了。
3影响性能的函数如果真的有CPU密集型的函数影响性能,可以编译成C来解决性能问题,一些矩阵操作也可以通过numpy来解决
可以。直接使用socket模块,可以自己编写服务器。
同时,现在有很多web框架是python实现的,可以直接拿来用。
重型的有zope,非常优秀,可惜现在成了非主流了;全功能的有 Django等,轻量级的有CherryPy、Flask、Tornado等。
种类太多,可以自己搜索后选择适合自己的。
Python 是脚本语言,也就是中间件语言,其内核仍然是纯 c 的性能表达的,而主要性能消耗在脚本的实时编译上。
而对比c,同样的功能,python可以表达比c更加精炼,当然牺牲了一些性能。
如果确实对某个模组性能不满意,还可以使用 c 编写 Python 模块为其加速。
面对一些并不需要过多性能而可以获得更快捷的开发速度,Python的优势完全可以盖过“劣势”。
可以说,Python基本完美。
例如知乎就是使用 Python 制作的。
Google 的许多页面也是使用 Python 进行渲染的。
0条评论