為什麼說C#的效率要比PHP的效率高?

來源:互聯網
上載者:User
前提天面試的時候,有個技術告訴我,C#的效率要比PHP的高,C#是多線程的,PHP是單線程,我想問一下C#的多線程是怎麼體現的?PHP的單線程是怎麼體現的?本人應屆畢業生,對於基礎的東西,不太感興趣,現在正在惡補...

回複內容:

不管是開發效率還是運行效率,動態類型的先天弱勢是無法彌補的。
當然如果你僅僅需要hello world...面試的也是個棒槌…運行效率上說帶JIT的編譯型語言自然好過動態語言。謝邀,謝抬愛。
以上。以上。

追加一句:
C#和PHP使用情境的不一樣,怎麼比?比什麼比??
你這個渣渣紮古還敢跟我的高達比?“C#的效率要比PHP的高” 這麼不嚴謹的技術人員,還是不要去了,對於你以後的學習和成長絕對是個阻礙。

其實深刻一點的理解,你就會發現,其實C#和PHP根本不能做對比,因為不是同一個物種。不能因為大家都能吃喝拉撒就去比較什麼。相比PHP的話用基於C# 實現的http://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是世界上最好的語言”他們的效率問題不做評價,但是多線程,單線程跟效率有麻子關係?
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.