成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PHP 不如 C++ 嗎?

開發 后端
昨天和一個前同事聊天,各種吐槽PHP,吐槽Swoole,他認為PHP到處是坑,PHP局限很大。PHP+Swoole不適合做高并發服務器,C+Swoole才是最好的方案。C++有各種數據結構,C++可以開線程,C++可以共享對象??磥碛斜匾煤玫谜f明一下了。

昨天和一個前同事聊天,各種吐槽PHP,吐槽Swoole,他認為PHP到處是坑,PHP局限很大。PHP+Swoole不適合做高并發服務器,C+Swoole才是***的方案。C++有各種數據結構,C++可以開線程,C++可以共享對象??磥碛斜匾煤玫谜f明一下了。

 

[[148132]]

PHP比C/C++或Java少了什么?多線程,多線程,多線程……

是的。PHP比C/C++、Java少了多了多線程。PHP只有多進程的方案,所以PHP里的全局變量和對象不是共享的、數據結構也不能跨進程操作、Socket文件描述符不能共享等等。所以PHP有局限?

多線程看似比多進程要強大很多,實際上我可以負責任的告訴你,多線程帶來的坑更多。

  • 數據同步問題會讓你崩潰的。要么就犧牲性能到處加鎖,要么就用地獄難度的無鎖并發編程,據我所知目前國內能掌握此項技能的人鳳毛麟角。

  • 不要以為加鎖就萬事大吉了,你會在死鎖問題上栽個大跟頭。當你的程序邏輯復雜后,鎖越來越難控制了,一旦死鎖你的程序基本上就完了。

  • 某個線程掛了那所有線程都會退出

反而在看多進程,其實就簡單的多了。

  • 配合進程間通信,基本上你可以實現任意的數據共享。比如利用一個進程專門存數據結構和對象,其他進程的數據操作全部投遞到此進程來

  • 多進程不需要鎖

  • 多進程可以使用共享內存的數據結構實現一些多線程的功能。如Swoole提供的Table、Atomic可以實現數據共享,但成本很低。未來還會加入共享內存隊列

所謂PHP限制了Swoole,這完全是無稽之談。合理利用Swoole提供的Table、Atomic、SendMessage/PipeMessage、Task完全可以實現異步非阻塞的代碼邏輯。

C++寫出來的程序性能更好?

這完全是盲目的迷信,密集計算的程序C++確實是有優勢的。而并發服務器核心是IO,并非大規模密集運算。C++從語言層面來看并沒有什么優勢。另外C++中的大部分數據結構在PHP中都有對應的實現,實在不行自己寫個專門的擴展也能解決之。

高并發的服務器單機能維持10W連接、每秒可處理3-5W筆消息收發。這種性能水準已經可以應用在BAT的核心系統上了。

開發效率快的意義是什么?

這位同事還說PHP開發Server雖然比C++快了,但是追求性能的***還是要用C++。我要告訴你效率高了究竟意義何在。開發一套好程序不是一 件容易的事情,需要程序員投入大量時間和精力。開發效率提升的意義并不是簡單的我可以更少時間完工,而是剩下的時間你可以增加單元測試、修復BUG、提升 用戶體驗、完善細節、提供配套工具、優化性能、增加關鍵日志、增加監控報警、增加容災方案。

(本文作者是 Swoole 的創始人, 原文標題:“關于C++、PHP和Swoole”)

原文:http://rango.swoole.com/archives/473 作者: @韓天峰-Rango

責任編輯:王雪燕 來源: @韓天峰-Rango的博客
相關推薦

2022-08-22 15:32:59

C++C代碼

2010-01-21 10:23:53

C++代碼

2024-06-24 12:41:40

2010-01-25 16:41:08

C++應用程序

2020-12-30 10:38:54

漏洞編程語言加密

2018-05-30 15:01:45

語言框架Java

2018-08-10 09:00:50

PythonJavaPHP

2010-01-26 09:24:53

C++語言

2010-01-15 16:45:35

C++語言

2010-01-14 10:34:02

C++語言

2010-01-20 17:23:03

C++編程語言

2023-09-19 23:26:15

++i原子操作C++

2010-09-16 09:12:20

JavaC#

2010-01-20 10:14:53

C++程序

2011-07-14 17:45:06

CC++

2010-01-21 14:07:14

CC++聲明

2010-01-21 09:34:57

C++語法

2010-01-27 16:05:06

C++堆棧

2010-01-21 17:14:40

C++兼容

2022-02-17 08:48:12

C++開發單片機
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人高清在线视频 | 一区二区三区免费 | 国产亚洲精品综合一区 | www.亚洲区 | 亚洲成人在线免费 | 免费看a| 国产精品精品视频一区二区三区 | 精品美女久久久久久免费 | 天天草草草| 先锋资源在线 | av免费网址 | 国产激情网| 一级二级三级黄色 | 伊人春色成人网 | 国产99久久久国产精品 | 国产91综合一区在线观看 | 久久久精彩视频 | 久久久91 | 成人欧美一区二区三区黑人孕妇 | 久久这里只有精品首页 | www久久国产 | 久久久黄色 | 日韩在线看片 | 在线国产中文字幕 | 欧美区日韩区 | 伊人焦久影院 | 中文字幕在线观看国产 | 日韩精品一区二区不卡 | 日本欧美在线观看视频 | 日韩一二区 | 午夜在线 | 麻豆一区二区三区 | 在线欧美亚洲 | 国产亚洲日本精品 | 色综合中文 | 中文字幕国产精品 | 天天躁日日躁狠狠的躁天龙影院 | 日韩在线小视频 | 亚洲视频免费一区 | 亚洲iv一区二区三区 | 国内精品久久久久久 |