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

Go 和 PHP 性能如何進行對比?你覺得哪個更好?

開發 前端
開發者之間很喜歡做性能對比,而PHP開發者對這方面有更多的情節??赡苁荘HP的生態太龐大了,即便是PHP開發者之間,面對不同框架,也會有不同的態度。我見過一個網友,一直在吹Swoole,一句其他的意見也聽不進去,也是很有趣的現象。

PHP性能很差嗎?

每次講到PHP和其他語言間的性能對比,似乎都會發現這樣一個聲音:單純的性能對比沒有意義,主要瓶頸首先是數據庫,其次是業務代碼等等。

好像PHP的性能真的不能單獨拿出來討論似的。但其實一份關于Workerman的基本性能對比中發現,Workerman比Go還要強。

該測試的原文在這里:https://www.workerman.net/a/1337 ,大家有興趣可以自己查看。改文章將GO、Workerman、Webman、Swoole、Swoole+協程進行了測壓對比。

大體上的結果是:

  • workeman壓測性能高于golang
  • webman短連接高于golang
  • webman的keepalive長連接略低于golang
  • swoole短連接高于golang
  • swoole的keepalive低于golang
  • workerman和webman不管是短連接還是keepliave都高于swoole。

總體而言,Workerman和Webman比較強。這是一個基本的hello word的IO測試。雖然我們都認為這并沒有什么用,但是這還是很有意思的一個現象。

為什么現在的PHP框架都在宣稱高性能?

你會發現,現在PHP的各個熱點文章都把高性能掛在嘴邊,這是為什么呢?PHP的性能很差,這似乎是共識,即便是PHP的開發者也從來不去深究這個問題,但現在為什么大家都在說PHP的性能很高呢?

現在的PHP框架都在宣稱高性能,主要是因為隨著互聯網應用的不斷發展,對于響應速度和性能的要求也越來越高,而傳統的PHP開發方式在并發處理和性能方面存在一定的瓶頸,因此出現了一些新的PHP框架,例如Swoole、Laravel、Yii以及ThinkPHP等,都在性能方面進行了大量優化,以滿足用戶對于高性能的要求,并且在處理高并發時有更好的表現。此外,現代框架的出現也推動了PHP語言本身的發展,PHP在性能方面也做出了一些改善。

總結的說:

  • PHP本身在進步,不要再用PHP5的時代看現在的PHP
  • PHP生態在變化,新的框架的誕生都在性能方面做優化
  • PHP的運行方式也發生了變化,從PHP-FPM到現在的基于epoll的驅動

性能對比有意義嗎?

單純的對比GO和PHP,其實有很多有趣的值得注意的地方。

JSON處理

首先GO的json解析并不如PHP的更快更好,PHP的json解析是用C實現的,也意味著即便是在PHP-FPM環境下,單純的json處理也很快。而且更別提開發上了,PHP不用預定義結構,一行代碼直接將json從字符串變成了數組(或對象),這一點真的很清爽。

協程

PHP也有協程,由關鍵字yield實現,但使用起來很隱晦,Swoole借用了GO語法中的go關鍵字,使在使用PHP是也能很氣輕松地實現協程用法。

異步

PHP是一個同步語言,即便是有協程,但大多數的代碼操作都是同步的,比如file_get_content,無論你再怎么牛逼,它也是同步的。

其實PHP在異步上,也有很多的進本,像Workerman、Swoole、ReactPHP等等框架,都推出了自己環境下的異步HTTP客戶端庫。但這可能是不夠的。不過有一個很有意思的項目,是ReactPHP框架下的,叫:chemem/asyncify,他能讓任何的PHP代碼都以異步的方式運行。使用起來也很簡單:

use function Chemem\Asyncify\call;

$call = call('file_get_contents', ['foo.txt'])
  ->then(
    function (?string $contents) {
      echo $contents;
    },
    function (\Throwable $err) {
      echo $err->getMessage();
    }
  );

總之

開發者之間很喜歡做性能對比,而PHP開發者對這方面有更多的情節??赡苁荘HP的生態太龐大了,即便是PHP開發者之間,面對不同框架,也會有不同的態度。我見過一個網友,一直在吹Swoole,一句其他的意見也聽不進去,也是很有趣的現象。

但有一種論調,叫XXX割裂了PHP,這種說法是不對的。PHP從來不像JAVA和GO那樣,在某個時代都認同某個技術,比如java的spring。PHP一直很活躍,這是好事。PHP可能從來沒有時尚過,沒有引領過什么,但他也從來不落后于時代。

但PHP的從業者確實不夠技術范兒,落后太多了。這一點無論國內外都一樣,如果在國外發表一篇性能對比的文章,其中使用的PHP版本是PHP7.1,無論結果如何,人們也會在評論區高呼:“太棒了,最起碼他沒有用PHP5.6”。

性能對比也是有操作空間的,比如我們發起一個比賽:哪個語言處理JSON最快?對于這個問題,PHP可能不是最快的,但也不會有什么擔心的。

責任編輯:武曉燕 來源: 開源技術小棧
相關推薦

2024-07-30 10:45:05

容器化編排工具

2020-12-22 08:15:05

Java字節流字符流

2021-03-15 10:23:44

IT支出技術投資CIO

2016-08-05 14:23:15

系統

2010-04-20 15:41:38

Oracle sql

2020-07-20 12:43:31

Go變量命名

2014-11-04 09:57:30

Windows

2021-10-14 22:45:43

手機黑科技屏幕

2011-07-06 08:46:30

2010-09-15 14:02:07

關鍵數據備份

2012-10-15 09:30:04

CSSDIVWeb

2023-04-26 00:41:36

A/B測試郵件數量

2018-08-09 18:27:03

編程語言JavaPython

2012-03-26 10:55:03

JavaJava EE

2017-10-31 10:32:44

2023-12-11 07:37:08

mongodb經緯度性能

2024-10-29 08:52:01

Go協作式調度

2011-08-05 13:41:46

Go

2023-10-04 18:29:24

NFS小文件業務

2017-03-02 14:52:46

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产鲁一鲁一区二区张丽 | 国产影音先锋 | 青青草原综合久久大伊人精品 | 中文字幕国产视频 | 99国产精品一区二区三区 | 亚洲人在线 | 国产高清精品一区二区三区 | 精品一区二区视频 | 国产91在线观看 | 欧美a v在线 | 免费在线看a | 亚洲精品视频免费 | 五月天国产视频 | 我爱操| 午夜a v电影 | 精品欧美一区二区精品久久久 | 国产xxxx岁13xxxxhd | 国产高清精品一区二区三区 | 久久久久久影院 | 国产一区二区在线视频 | 日韩一级免费观看 | 中文一区二区 | 久久精品一级 | 中文字幕91av | 欧美一区二区三区视频 | 欧美一级小视频 | 91久久| 欧美黑人激情 | 中文字幕一区二区三区不卡在线 | 中文字幕在线看人 | 国产精品成人一区二区三区夜夜夜 | 亚洲三级在线观看 | 天天躁人人躁人人躁狂躁 | 国产精品亚洲综合 | 欧美精品一区二区三区在线播放 | 宅女噜噜66国产精品观看免费 | 久久久久久久久久久久91 | 日韩在线不卡 | 久久亚洲精品视频 | 一区二区三区不卡视频 | 精品久久久久久久久久久下田 |