導航:首頁 > 編程語言 > nodejs和php性能

nodejs和php性能

發布時間:2024-07-09 01:25:45

php的性能要比node.js高很多嗎

有學習Swoole的疑惑、遇到瓶頸期的PHPer可在底部留言給我!!!

在本機windows環境下的測試:8G內存,4GCPU,win7系統,插入10000條記錄測試比較,php和nodejs的性能。

當改為10000條記錄插入,php耗時1.65 seconds,nodejs耗時318微秒,nodejs還是快得比較明顯。

㈡ node.js和php哪個簡單

單論做網站,應該是php簡單。。但node.js也不算太難,而且能做到的事情,比php多很多。
php是個過時的技術,和ASP是同代的產物(asp.net的前身)那時候名叫C- -,後來改名才叫PHP的。就和windowsXP一樣。技術上沒有任何優勢。但市場還在,盡管早晚是要被淘汰的,但由於學習門檻低,又確實有市場需求。所以淘汰速度並不快
JAVASCRIPT是個90後,按說也算是比較老了,但NODE卻是門新興技術。。由於非阻塞非同步io實現,導致node的io效率非常高。。。實際測試,node的效率,大約比php高出70-100倍左右。。而且node除了做網站之外,還可以搞嵌入式,樹莓派,甚至網游伺服器。。
簡單概括,如果只是做網站,php簡單些。。。但個人還是推薦node。。一個是夕陽技術,一個是朝陽技術。。。其實很容易判斷
不過把范圍再擴大一些的話,我覺得兩個的學習價值都不高。因為都是動態語言,在編寫中型以上項目時,都會不可避免的受限於動態語言天生的劣根性,導致各種問題。學習性價比最高的應該是.NET CORE。學習比node難不了太多,而性能卻是頂級的。或者Java,崗位多需求大,屬於最四平八穩的選擇。如果要長期做程序,轉向靜態語言是遲早的事兒。無論Node,還是php,都只是過渡之下的產物,而不是最終選擇。

㈢ nodejs php哪個好

Node.js發布於2009年5月,由Ryan Dahl開發,是一個基於Chrome V8引擎的JavaScript運行環境,使用了一個事件驅動、非阻塞式I/O模型, 讓JavaScript 運行在服務端的開發平台,它讓JavaScript成為與PHP、Python、Perl、Ruby等服務端語言平起平坐的腳本語言.
PHP即「超文本預處理器」,是一種通用開源腳本語言。PHP是在伺服器端執行的腳本語言,與C語言類似,是常用的網站編程語言。PHP獨特的語法混合了C、Java、Perl以及 PHP 自創的語法。利於學習,使用廣泛,主要適用於Web開發領域。
Node.js遵循事件驅動的非阻塞I/O模型,PHP遵循一個阻塞模型;
PHP應用程序可以在任何伺服器上運行,Node不行。
1、性能方面:
由於 Node.js 遵循事件驅動的非阻塞I/O模型,與傳統的後端技術相比,Node.js 能夠處理大量的伺服器請求。PHP 遵循一個阻塞模型,其中在伺服器端創建多個線程來處理多個客戶端請求,如果代碼沒有被優化,它會導致高伺服器負載和響應時間。
2、託管和部署:
PHP 應用程序可以在包括 Nginx 和 Apache 以及 Windows 和 Linux 平台在內的任何伺服器上運行,這使得部署過程變得更容易。
而 Node.js,則需要具有 SSH 訪問許可權的虛擬伺服器。因此,在沒有任何控制台命令和 Secure Shell(SSH)知識的情況下,用 PHP 部署小型企業和個人應用會更好。
3、外部依賴:
Node.js 依賴關系較少,用幾行代碼就可以設置一個 Web 伺服器。但運行 PHP 應用程序,就需要外部伺服器軟體。用 Node.js 的開發人員只需要 NPM(節點包管理器)就可以下載 Node 模塊,這些模塊可以輕松地集成到應用程序中,提供額外的功能。
4、CPU 擴展任務:
Node.js 可能在高吞吐量方面表現優異,但是當應用程序繁重,需要 CPU 做大量工作時,Node.js 肯定會有所欠缺。在這種情況下,PHP 最適合做 Web 應用程序的後端。
5、單頁應用程序:
如果您使用過 Gmail,那麼您可能知道什麼是單頁應用程序(Single Page Application)。Web 應用程序在初始客戶端請求時載入,之後根據客戶端請求刷新的網頁的特定部分。Node.js 與 AngularJS 的聯合是開發單頁應用程序的完美方案。
6、開發環境:
Node.js 可以用於桌面應用程序開發(Windows,Linux和Mac),移動應用程序開發(混合和跨平台應用程序),甚至構建基於控制台的應用程序。雖然有一些也可以使用 PHP 來開發,但是大多數開發人員不會這樣做。
7、社區支持:
由於 PHP 比 Node.js 早誕生將近20年,所以在文檔,API 和代碼庫等在線資源方面更為豐富。所以很有可能其他人也嘗試了你想要用代碼完成的事情並從中獲得了幫助。
另一方面,Node.js 雖然已經得到了開發者和組織的廣泛關注,但是它支持開發者開發的資源缺相當少。
8、學習曲線:
編寫 Node.js 代碼對於新手甚至是專業的 JavaScript 開發人員來說都不是件容易的事情,因為他們需要在入門之前理解一些復雜的概念,比如 web worker 和回調函數。相反,PHP是一門非常友好的編程語言對於開發 Web 應用程序的新手來說。
Node.js 和 PHP是相輔相成的,因為這兩種技術都有各自的優點和缺點。這大多是相似的情況在比較或選擇用於Web,桌面和移動開發的其他技術時。Node.js有前途,並且肯定會占據PHP市場的一部分,但是不能完全取代 PHP。

㈣ 寫後端 Python,nodejs和php哪個更好一些

Node.js相優於Python的地方:快:這個快有兩方面,第一是V8引擎快,第二是非同步執行,Node.js功能上是一個基於V8引擎的非同步網路和IOLibrary,和Python的Twisted很像,不同的是Node.js的eventloop是很底層的深入在語言中的,可以想像成整個文件在執行的時候就在一個很大的eventloop里;npm:npm可以說是用起來最順手的packagemanagement了,npm作為Node.js的官方packagemanagement,匯集了整個社區最集中的資源;不像Python經歷過easy_install和pip,還有2to3的問題;Windows支持:Node.js有微軟的加持,Windows基本被視為一等公民來支持,libuv已經可以很好的做到統一跨平台的API;而Python雖然也對Windows有官方的支持,但是總感覺是二等公民,時不時出些問題。Python優於Node.js的地方:語言:就單純從語言的角度來說,Python寫起來要比Javascript舒服很多;Javascript設計本身有許多缺陷,畢竟當時設計的時候只是作為在瀏覽器中做一些簡單任務的script,所以代碼一旦龐大,維護還是有困難(不過Node.js的mole很大的改善了這個問題),不過用Coffeescript可以很大的改善Javascript,幾乎可以和Python等同;成熟:成熟包括語言本身已經成熟,還有Framework和ecosystem也很龐大。Node.js的絕大多數framework都很新,有的API一直在變,有的感覺已經不在維護,總之沒有一個像Django那種百足之蟲感覺的framework。Python的主流ORMSQLalchemy也很成熟。Python和Node.js很難分高下的地方:非同步Style:Node.js的非同步Style是CPS,也就是層層callback,基於event,和瀏覽器中的Javascript很像。CPS好處是讓熟悉瀏覽器Javascript的人能很快上手,學習難度也不大。缺點是邏輯一復雜,就變得很難維護,基本上需要通過async.js這種library,或者用promise。Python的非同步除了和Node.js很像的Twisted之外,也有基於coroutine的gevent,coroutine讓非同步代碼維護起來更容易,不過學習曲線陡;應用場景:如果是一個CRUD的app,那麼想都不想直接是Python,Node.js本身不擅長CRUD的app(絕大多數Node.js都是直接裸在外面的,而不是有一個Nginx在前面,否則websocket就不能用了,不過新版nginx開始支持websocket),代碼又不好維護,而Python的WSGI很適合,成熟的stack也有很多。如果更偏向於real-time,比如一個chatroom,那麼Node.js實現更容易。這兩個應用場景還是有差別的。

㈤ php 和nodejs 的各自優勢有哪些,如果無基礎開始,要學那個好

作者:MiseryLee
鏈接:http://www.hu.com/question/35117771/answer/61377174
來源:知乎
著作權歸作者所有,轉載請聯系作者獲得授權。

PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。
以上這句話摘於網路。PHP的語法是公認的比較獨特的語法了,集百家之長,再加以創新。學習過OO的同學們一定會對此倍感親切。不過對於我並不長的PHP編碼經歷,讓我無法忍受的一點就是PHP的變數名必須在前面加一個$符號了。

至於Nodejs,Node本身就是Javascript語言,對於Web前端腳本開發者來說,學習Node簡直是如魚得水。Javascript作為腳本語言,在代碼的編寫上有極大的自由(畫外音:PHP也是腳本語言好么!),但是Javascript的非同步編碼風格確實是讓以學習同步編碼風格的語言入門的同學Hold不住。

在語法方面,我更傾向於Nodejs(畢竟人家是寫Javascript出身的233333)。PHP對於臣妾來說寫的實在太累啦~

2.效率
這一點其實沒有必要比較了,
Web語言效率問題,PHP還是Nodejs
看一下這里一樓的大大說的。
Nodejs憑借高效的V8引擎和它非阻塞非同步I/O的特性,在其執行效率上遠遠超過了其他的腳本語言。
Node.js比PHP快14倍!
這里這位大大在效率方面分析的更加到位。當然我並不是在追捧Nodejs,就像這位大大說的
這不是簡單語言細節之爭,而是語言框架之爭。將Node.JS這種非同步機制從Javasctipt搬移到其他語言PHP .NET Java其實都會取得比原來堵塞方式有數十倍提高。

3.使用場景
毋庸置疑,這兩種語言都是為Web開發而生。PHP多樣化的內置方法和庫,讓Web開發變得極其的方便和高效,成熟的語言框架也給開發者提供了足夠高的健壯性和穩定性。而Nodejs以其強大的特性吸引了大量的開發者為其貢獻擴展庫,Nodejs項目雖然還很年輕,但是已經聚集了大量的開發資源。

4.小結
畢竟對PHP了解的較少,所以以上言論中難免有點偏向於Nodejs,但是PHP發展多年屹立不倒肯定是有它的道理的,網路還用的PHP呢。
至於Nodejs,作為一門新興(並不新啊,Javascript可比PHP老多了)語言來講,它獨特的設計特性足夠吸引開發者向它看了。

最終回到題主的問題,不知道題主說的沒有基礎是指完全沒有編程基礎還是沒有伺服器開發基礎?
如果完全沒有編程基礎的話,我建議題主還是先去學習C語言,先入了這一行,再選工具吧~
如果有編程基礎的話,如果之前是學習OO的,建議先從PHP入手,畢竟更容易過渡,並且網路上對於PHP的資料要比Nodejs多得多。
如果之前學習過Javascript,我還是建議先從PHP入手,就像上面說的,先入了這一行,再選工具。伺服器開發也算一個小行了,如果對伺服器開發不了解,對網路機制不了解的話,先從PHP著手,把這些相關知識補充起來。
如果實在是被Nodejs的優勢吸引住了的話,我建議先好好學習Javascript高級編程,深入理解一下異原型鏈和回調機制,這會對入手Nodejs有極大的幫助。
如對您有幫助,望採納,謝謝

閱讀全文

與nodejs和php性能相關的資料

熱點內容
效果器app怎麼無線連接 瀏覽:402
clinux線程鎖 瀏覽:849
怎麼看新手機安卓充電器是不是原裝 瀏覽:292
32單片機f4點燈源碼 瀏覽:220
車載安卓導航開發者選項怎麼開啟 瀏覽:692
學生程序員兼職 瀏覽:357
androidswitch事件 瀏覽:996
微信會壓縮兩分鍾視頻嗎 瀏覽:477
阿里雲伺服器window使用教程 瀏覽:354
壓縮包視頻怎麼下載到手機 瀏覽:741
php埠映射 瀏覽:768
php審查元素跳轉代碼 瀏覽:418
劍網三如何重置伺服器列表 瀏覽:979
王者榮耀如何卡bug進伺服器 瀏覽:436
國內免費pptp伺服器地址 瀏覽:342
程序員black自學編程 瀏覽:691
android仿騰訊新聞 瀏覽:136
程序員走了 瀏覽:276
linux設置時間伺服器 瀏覽:286
機械人焊接編程教學視頻 瀏覽:556