Home  >  Article  >  Backend Development  >  为什么说C#的效率要比PHP的效率高?

为什么说C#的效率要比PHP的效率高?

WBOY
WBOYOriginal
2016-06-17 08:32:192425browse

前提天面试的时候,有个技术告诉我,C#的效率要比PHP的高,C#是多线程的,PHP是单线程,我想问一下C#的多线程是怎么体现的?PHP的单线程是怎么体现的?本人应届毕业生,对于基础的东西,不太感兴趣,现在正在恶补...

回复内容:

不管是开发效率还是运行效率,动态类型的先天弱势是无法弥补的。
当然如果你仅仅需要hello world... 面试的也是个棒槌…运行效率上说带JIT的编译型语言自然好过动态语言。 谢邀,谢抬爱。
为什么说C#的效率要比PHP的效率高? 为什么说C#的效率要比PHP的效率高? 为什么说C#的效率要比PHP的效率高? 为什么说C#的效率要比PHP的效率高?以上。

追加一句:
C#和PHP使用场景的不一样,怎么比?比什么比??
你这个渣渣扎古还敢跟我的高达比? “C#的效率要比PHP的高” 这么不严谨的技术人员,还是不要去了,对于你以后的学习和成长绝对是个阻碍。

其实深刻一点的理解,你就会发现,其实C#和PHP根本不能做对比,因为不是同一个物种。不能因为大家都能吃喝拉撒就去比较什么。相比PHP的话用基于C# 实现的ASP.NET比较合适。当然如果单独从线程单场方面来比较的话就
PHP没有多线程,是因为你无法在PHP里面去开启一个线程去执行其他任务。所以,多个请求的时候,是交给服务器去处理的。服务器会针对每个用户建立一个php脚本处理进程。所以PHP一般只用在Web开发上面。
C#可以做很多事情,是PHP所无法做到的。C#既可以做Web开发也可以做基于服务器客户端方面的开发。所以多线程处理对C#来说的是多么的重要。你可以写个多线程爬虫软件放在服务器上跑。C#可以做游戏开发,游戏里面大量运用到了多线程处理,等等。再比如C#的web开发,比如用户发起一个不需要返回数据的请求,后台处理又比较耗时,怎么办?开启一个线程,慢慢处理。 1,语言那么多,都是倔强特定问题的。
2,多线程,写得烂,一样效率低。
3,既然在对比php,那项目多半侧重web的。
4,侧重web的,少不了要跟数据库打交道。
5,数据库搞不好,都是翔。
6,时间,开发周期。实战中非常关注的。 “C#效率比PHP高”,是指运行效率高?多线程就比单线程高?那么golang这种纤程是不是又比C#高?node.js这种单线程怎么活?php发展到版本7已经非常快了,可以比下一堆脚本语言,至于C#,更应该和Rust、GO、Swift、Java去比效率 不是单线程多线程问题
是解析型和编译型的问题 带干不干写过大概7年C#,8年PHP。
就语言层面,开发效率PHP更高,因为不用考虑处理类型转换,C#把每种类型都分的很清,相互转换要花很多时间,甚至应用设计模式,PHP基本上学好数组走天下,当然现在也推崇面向对象。

就执行层面,C#使用MSIL作为中间语言,执行时动态编译成native code,PHP使用源代码,执行时动态编译,但是Opcode是可以缓存的。

然后说题主多线程层面,C#虽然内置了多线程的语法糖,但是实际上仍然是需要库(好像是System.Threading)来支持的。当然运行时还是靠Windows系统切换时间片来支持的。PHP默认不提供多线程支持,但是有pThread扩展,同样可以支持多线程。

================================
上面说的都是废话,以下是重点:
“PHP是世界上最好的语言” 他们的效率问题不做评价,但是多线程,单线程跟效率有麻子关系?
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn