首页 / 知识
python为什么不适合web开发
2023-11-12 13:25:00
python不适合web开发的原因:
1、性能堪忧。
写个httpserver仅仅就输出helloworld,单机跑出一千的qps都够呛。而用netty,golang,nodejs随便就上万了。
而对于互联网的web应用来说,性能就是生命线。qps上不去,用户就会觉得卡顿,卡顿了还谈个屁的用户体验。
当然也有一些方案可以增加性能,比如用异步的tornado。但玩过之后发现稍好,性能依然比上面提到的技术低一个档次。还有很偏门bjoernwsgi可以极大的提高http的性能,但这高出来的部分,是因为bjoern是用c写的。但,一旦运行到用python写的业务代码时,又慢得跟截肢了似的。
性能低应该有两方面的原因,
a.因为python的默认实现是单线程,并且很多重要的模块就不支持多线程。所以利用多核较为困难。当然也不是没有办法,比如用多进程来利用多核。但多进程用起来还是不那么顺手。
b.python的实现性能不够好吧。JavaScript当初也慢的可以卡出翔,后来google出手,搞出V8引擎,立即JavaScript快如闪电。最早的Java也是慢的跟蜗牛似的,后来SUN找牛人搞出了Hotspot虚拟机后,Java的性能立即发生质的飞跃。PHP最近都有极大的性能提升。但Python就是一直这么慢
2、Python的跨平台开发比较麻烦。
Python下要想实现跨平台开发非常麻烦。
一些扩展包在windows下安装极其麻烦,比如PIL这个著名的图像处理包,在windows上要找到这个安装包都不容易,而且这个包已经不维护了,被一个叫pillow的包接替,但气愤的是pillow这个包和PIL居然不是100%兼容的,还需要一些小改动。
另外的,有的包根本就不提供windows版,比如kyotocabinet,一个著名的的kv存储引擎。这让人非常头疼。
现在团队基本所有的人都是用windows开发,但程序部署却是在linux上。
最终大家解决问题的办法是在windows上装个linux虚拟机,在虚拟的linux的上开发,这样就可以保持服务器和开发环境一致了。但这样也是够麻烦的,性能严重打折,虚拟机和物理机之间切换也极度麻烦。
以上内容为大家介绍了python为什么不适合web开发,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们
最新内容
相关内容
如何在python代码中指定保存的文件
如何在python代码中指定保存的文件格式,代码,培训,文件格式,格式,二进制文件,文件,后缀,以上,方法,更多,python指定保存文件格式的方法:1、保Python写完代码怎么用
Python写完代码怎么用,代码,下来,数字,概念,培训,文本,模式,文件,程序,路径,python运行有两种方式,一种是在python交互式命令行下运行;另一种python代码运行需要编译吗
python代码运行需要编译吗,代码,培训,做好,体系,平台,语言,机器码,目标,厨师,下次,有人在讨论Python代码是编译执行还是解释执行?这个问题还python写代码怎么跳到下一行
python写代码怎么跳到下一行,代码,培训,情况,结果,括号,末尾,空格,以上,方法,更多,python中一般是一行写完所有代码,如果遇到一行写不完需要换pythonpython是虚拟机吗
pythonpython是虚拟机吗,时间,环境,信息,概念,代码,培训,字节,虚拟机,指令,文件,python并不是虚拟机,运行python文件的是python解释器。pythonpython如何注释代码行
python如何注释代码行,代码,培训,位置,注释,信息,内容,中文,程序,声明,语法,python中使用井号(‘#’)作为单行注释的符号,语法格式为:#注释内容python怎么注释多行代码
python怎么注释多行代码,培训,代码,注释,内容,开头,结尾,全部,语法,函数,模块,python多行注释确保对模块,函数,方法和行内注释使用正确的风格python 培训之 object是什么类型
python 培训之 object是什么类型,培训,类型,实例,顶端,对象,关系,链条,父子,数据类型,属性,在Python的世界中,object是父子关系的顶端,所有的数python写代码怎么跳下一行
python写代码怎么跳下一行,培训,代码,括号,末尾,空格,字符串,也就是,对象,以上,两个,python里一行写不下,拆成多行,有两种办法:\和()两种方法在python代码常见错误
python代码常见错误,代码,培训,平台,错误,空格,变量,赋值,制表符,属性,大小写,python常见的错误有:1.NameError变量名错误2.IndentationErrorpython数据分析相关的技术
python数据分析相关的技术,分析,数据,培训,技术,python代码怎么换行
python代码怎么换行,代码,培训,方法,示例,字符串,斜杠,行书,括号,有用,下面,使用以下方法可以使Python的代码换行:1.用反斜杠链接多行代码,示例