ãã®èšäºã§ã¯ãPHP 5ããå®éšçãªJITãã©ã³ãïŒçŸåšéçºäžïŒãŸã§ã®ããã€ãã®ãã³ãããŒã¯ã®çµæãæ€èšããŸãã å·çæç¹ã§ã¯ãPHP 7.2ãªã©ã®ã¡ãžã£ãŒããŒãžã§ã³ãPHP 8ããåã«è¡šç€ºããããã©ããã¯äžæã§ããã ããããå®éšçãªãã©ã³ãã®æ©èœã¯å°ãªããšãPHP 8ã«å«ãŸãããšæ³å®ããã®ã¯çã«ããªã£ãŠããŸãã
1994幎ã®å°å ¥ä»¥æ¥ãPHPèšèªã¯æ ¹æ¬çã«å€ãããŸããã æåã®ãªãªãŒã¹ã¯ãåã«å€éšCGIããã°ã©ã ã§ãããRasmus Lerdorfã®å人ãããžã§ã¯ããšããŠããŸããŸãªæ¹æ³ã§äœæãããŸããã PHPã®3çªç®ã®ããŒãžã§ã³ãå€§å¹ ã«åèšèšãããŠä»¥æ¥ãèšèªéçºè ã®ã°ã«ãŒãã§ãã
PHP 3ã®æ¡åŒµæ§ã®ãããã§ãèšèªã®æ©èœã¯æ¥éã«æé·ããŸããã ãããã¯ãŒã¯ã®æäœã解æããã£ãã·ã³ã°ãããŒã¿ããŒã¹ãµããŒããªã©ãããŸããŸãªåéã§æ°ããæ©èœãå°å ¥ããåºæ¬çãªæ¡åŒµæ©èœãè¿œå ãããŸããã
èšèªèªäœãéçºãããå€ãã®æ¹åãè¡ãããŸããã ã¯ã©ã¹ãã€ã³ã¿ãŒãã§ã€ã¹ãç¹æ§ãã¯ããŒãžã£ãªã©ã®ãªããžã§ã¯ãæåã®æ§ç¯ããµããŒããããŠããŸãã
ããããå€ãã®éçºè
ã«ãšã£ãŠãããã¯ååã§ã¯ãããŸããã§ããã ãã®èšèªã®äººæ°ã«äŒŽããäž»ã«ããã©ãŒãã³ã¹ãã¹ã±ãŒã©ããªãã£ãããçµæžçãªã¡ã¢ãªæ¶è²»ã«é¢é£ããŠãã³ãã¥ããã£ã®èšèªã«å¯ŸããèŠæ±ãé«ãŸã£ãŠããŸãã
ã»ãŒ20幎éãèšèªã®äœæè ã¯ããããçš®é¡ã®èŠä»¶ãæºããããã«å€å€§ãªåªåãããŠããŸããã PHP 3ã®ç»å Žã«ãããçç£æ§ã¯å€§å¹ ã«åäžããŸããããZendãšã³ãžã³ãç»å ŽãããšããPHP 4ã§ã®ã¿ãã®èšèªã¯é倧ãªçµæã瀺ãããšãã§ããŸããã
2000幎ã«ãæ°ããã€ã³ã¡ã¢ãªã³ã³ãã€ã©ãšãšã°ãŒãã¥ãŒã¿ã¢ãã«ãå°å ¥ãããŸããã ããã«ãããPHPã®ããã©ãŒãã³ã¹ãå€§å¹ ã«åäžããå€ãã®å Žå5ã10åã«ãªããŸããã ãã®çµæã圌ãã¯Webã¢ããªã±ãŒã·ã§ã³ãWebãµã€ããäœæããããã®ããŒã«ãšããŠçå£ã«èãå§ããŸããã ãããŠä»æ¥ãPHPã¯ãã®èšèªãç»å Žãããšãã«èª°ãæåŸ ããŠããªãã£ãé«ãã«éããŸããã
ããããPHPã®äººæ°ã®ççºçãªå¢å ã¯ãããã©ãŒãã³ã¹èŠä»¶ã®å¢å ã«ã€ãªãã£ãŠããŸãã 幞ããªããšã«ãZendãšã³ãžã³ã«ã¯è¿ä»£åã®å€§ããªå¯èœæ§ããããŸãã
PHP 5ã¯å€§ããªé²æ©ãéããããšã¯ãªããå Žåã«ãã£ãŠã¯PHP 4ãããããã«é
ããªããŸããããZendéçºããŒã ã¯ãªãªãŒã¹ããšã«ãšã³ãžã³ãåžžã«æé©åããŸãããPHP5.6ã®çµæã1.5ã3åé«éã«ãªããŸããã
ãããã2015幎12æã®PHP 7ã®ãªãªãŒã¹ã§å€§ããªãã¬ãŒã¯ã¹ã«ãŒãçºçããŸããã 1幎åŸãããŒãžã§ã³7.1ãçºè¡šãããå€ãã®æ¹è¯ãå ããããŸããã
PHP JITã³ã³ãã€ã©ãŒãšPHP 8ã®ããã©ãŒãã³ã¹åäžã«å¯ŸããæåŸ
Zendã®éåžžã«ææãªããŒãžã§ã³ãéçºãããŠããŸãã ãªãªãŒã¹7.1ã®ããŒãžã§ã³ã«åºã¥ããŠããããªãªãŒã¹ãããæç¹ã§ã¯ãŸã çºè¡šãããŠããŸããã ãããã£ãŠãããã¯å®éšçãªJITãã©ã³ãã§ãã
äž»ãªé°è¬ã®1ã€ã¯ããžã£ã¹ãã€ã³ã¿ã€ã ïŒJITïŒã³ã³ãã€ã«ã«é¢é£ããŠããŸãã ããã¯ãå®è¡çŽåã«ã³ãŒããå¥ã®åœ¢åŒïŒãã€ãã£ããã·ã³ã³ãŒãïŒã«å€æããææ³ã§ãã JITã®ç®æšã¯ãããã°ã©ã ã®é床ãäžããããšã§ãã éçºè ãçŽæãå®ãããã©ããèŠãŠã¿ãŸãããã
PHPã¹ã¯ãªãããåŠçããããã®ãã³ãããŒã¯
ãã®èšäºã§ã¯ãçŽç²ã«ããã»ããµã®ã¿ã¹ã¯ãã€ãŸããã¡ã€ã«ã¢ã¯ã»ã¹ããããã¯ãŒã¯ãŸãã¯ããŒã¿ããŒã¹æ¥ç¶ãªã©ã®I / Oæäœãè¡ããªãã¹ã¯ãªããã®åŠçã¹ã¯ãªããã®ããã©ãŒãã³ã¹ã枬å®ãããã³ãããŒã¯ã䜿çšããŸããã
次ã®ãã³ãããŒã¯ã䜿çšãããŸããã
- bench.php-å ã®PHPãã£ã¹ããªãã¥ãŒã·ã§ã³ã®php-src / Zendãã©ã«ããŒã«ãããŸãã
- micro_bench.php-åãå Žæã
- mandelbrot.php
ãã³ãããŒã¯ã¯ãäž»èŠãªPHPããŒãžã§ã³ã®ææ°ã®ãã€ããŒãªãªãŒã¹ã§å®è¡ãããŸããã
- 5.0.5
- 5.1.6
- 5.2.17
- 5.3.29
- 5.4.45
- 5.5.38
- 5.6.28
- 7.0.13
- 7.1.0
- å®éšçJITãã©ã³ã
åããã³ãããŒã¯ãã5.3.0ãã5.3.29ãªã©ããã¹ãŠã®äžéãªãªãŒã¹ã§å®è¡ãããŸããã çµæã¯éåŒã§ãããªãªãŒã¹ã§ã¯é¡èãªããã©ãŒãã³ã¹ã®æ¹åã¯èŠãããŸããã§ããã PHP 5.4ããPHP 5.5ãžã®ç§»è¡ããŸãã¯PHP 5.6ããPHP 7ãžã®ç§»è¡ãªã©ãã¡ãžã£ãŒããŒãžã§ã³éã®ç§»è¡æã«ã®ã¿æ¹åãèªããããŸããã
ããã¯ãPHP 5.4.0ãšPHP 5.4.45ã®äž¡æ¹ã§åãã¹ã¯ãªãããã»ãŒåãé床ã§å®è¡ãããããšãæå³ããŸãã
ãã¹ãã·ã¹ãã ã®ã»ããã¢ãããç¹å®ã®ãã³ãããŒã¯ã®å®è¡ãçµæã®è§£éã®è©³çŽ°ã«ã€ããŠã¯ã ãã¡ããã芧ãã ãã ã
ããã»ããµãã³ãããŒã¯ã®çµæã®æ¯èŒ
åãã³ãããŒã¯ã«å¯ŸããŠã3ã€ã®å€ãäžããããŸãã
- æéãs ïŒå®è¡æéïŒç§åäœïŒã
- çžå¯Ÿçãªå€åãïŒ ïŒä»¥åã®ããŒãžã§ã³ãšæ¯èŒããå®è¡æã®å€åã ãã³ãããŒã¯ãããéãå®è¡ãããå Žåãå€ã¯æ£ã§ãããããé ãå Žåãè² ã§ãã
- 絶察çãªå€æŽãç°¡å ïŒPHP 5.0ãšæ¯èŒããŠãã¹ã¯ãªããã®å®è¡é床ã¯ã©ãã ãéããã
ãã³ãããŒã¯ã®å®è¡çµæã¯ã次ã®è¡šã§ç¢ºèªã§ããŸãã
ïŒ1ïŒãã³ãããŒã¯ã¯ããŸã å®è£ ãããŠããªãããããã£ã䜿çšããããã5.3ããåã®ããŒãžã§ã³ã§ã¯å®è¡ã§ããŸããã
ïŒ2ïŒãã³ãããŒã¯ãæ©èœãããã«ã¯å°ãªããšãPHP 5.3ãå¿ èŠãªããããã®åã®çµæã¯ãããã«åã£ãŠããŸãã PHP 5.0ãšæ¯èŒããããšã¯ã§ããªããããåç §çšãšããŠã®ã¿äœ¿çšã§ããŸãã
ïŒ3ïŒããã¯ãmandelbrot.phpã¹ã¯ãªããã®ä¿®æ£çã§ãããå®éšãã©ã³ãã®ããŒãžã§ã³7.1.0ã§ã¯éããããããé床ãæ£ç¢ºã«æž¬å®ããããšã¯ã§ããŸããã§ããã ãã®ãããã¹ã¯ãªããå ã§1ã€ã§ã¯ãªã100ã®èšç®ãå®è¡ããŸããã
ãã¡ãããçŽç²ã«ããã»ããµã®ãã³ãããŒã¯ã§ã¯ãPHPã®ããã©ãŒãã³ã¹ã®ãã¹ãŠã®åŽé¢ãè©äŸ¡ããããšã¯ã§ããŸããã ããŒã¿ã¯ä»£è¡šçã§ã¯ãªãå ŽåããããŸãã ããã§ãããããã®ããŒã¿ã«åºã¥ããŠã次ã®ããšãçµè«ä»ããããšãã§ããŸãã
- PHP 5.1ã¯ãPHP 5.0ã®2å以äžã®é床ã§ãã
- ããŒãžã§ã³5.2ããã³5.3ã«ã¯æ°ããæ¹è¯ç¹ããããŸããã5.1ã»ã©å°è±¡çã§ã¯ãããŸããã
- 次ã®ããã©ãŒãã³ã¹ã®é£èºã¯ããŒãžã§ã³5.4ã§ããã
- opcacheæ¡åŒµæ©èœã«ã¯5.5ããã³5.6ãä»å±ããŠããŸããã ããã«ãããåãã¹ã¯ãªãããé£ç¶ããŠå®è¡ããããšãã«ã³ãŒãã®ããŒããé«éåãããçç£æ§ãåäžããŸããã ãã ããopcacheã¯CLIã¢ãŒãã§å®è¡ãããã¹ã¯ãªããã«ã¯ããŸã圹ç«ã¡ãŸããã
- PHP 7.0ã¯ãããã©ãŒãã³ã¹ã®é¢ã§å€§ããªãã¬ãŒã¯ã¹ã«ãŒã§ãã Zendãšã³ãžã³ã¯å®å šã«åèšèšããããããã®å€§èŠæš¡ãªå€æŽã®çµæã確èªããŠããŸãã
- PHP 7.1ã§ã¯ãopcoæ¡åŒµã¯opcacheæ¡åŒµã§æé©åãããŠããããã7.0ãè¶ ããããã©ãŒãã³ã¹ã®åäžã説æãããŠããŸãã
- å®éšçãªJITãã©ã³ãã¯ãããã©ãŒãã³ã¹ã®æ¬¡ã®ãžã£ã³ãã瀺ããŠããŸãã ããããå Žåã«ãã£ãŠã¯æ¹åãããŸããã ã³ã³ãã€ã«ã«ãã£ãŠã³ãŒããé«éåãããªããããåå²ãããã«é ããªãå ŽåããããŸãã ãã ãããã®æ©èœã¯ãŸã éçºäžã§ããããšãå¿ããªãã§ãã ããã
PHPã®ç°ãªãããŒãžã§ã³ã®ããã©ãŒãã³ã¹ãäžèŽããã
PHP 5ã¯PHP 4ãããçç£çã§ããã€ã³ã¿ãŒããªã¿ãŒã®åºç€ãšãªãZendãšã³ãžã³ã¯å®å šã«åèšèšããïŒZend Engine 2ïŒããããªãæ¹åã®éãéãããŠããŸãã ããã§ã¯ãPHP 4ãšPHP 5ã®éãããã¹ãŠã«ããŒããããã§ã¯ãããŸããããPHP 5.0以éã«å®è£ ããããã®ã ããç°¡åã«èª¬æããŸãã
PHPã³ã¢ã«åœ±é¿ãäžããå€æŽã®ã¿ã以äžã«ãªã¹ãããŸãã é©æ°ãšå€æŽã®ãã詳现ãªãªã¹ãïŒ PHP 5ããã³PHP 7 ã
PHP 5.1
- ã³ã³ãã€ã«æžã¿å€æ°
- å°éã®ãšã°ãŒãã¥ãŒã¿ãŒ
- å®ãã¹ãã£ãã·ã¥
- ããé«éãª
switch()
åŒåŠç - ããé«éãªé åé¢æ°
- ããé«éãªå€æ°ååŸ
- ãããžãã¯ãã¡ãœããã®é«éåãããåŒã³åºã
PHP 5.2
- æ°ããã¡ã¢ãªãããŒãžã£ãŒ
- é å/ããã·ã¥ããŒãã«ã®æé©åãããã³ããŒ
- æé©åãããåŒ
require_once()
ããã³include_once()
- ç¹å®ã®å éšæ©èœã®ãã€ããŒãªæé©å
- HEREDOCã³ã³ãã€ã«ãšè£éãããæååã³ã³ãã€ã«ã®æ¹å
PHP 5.3
- ã»ã°ã¡ã³ãåãããVMã¹ã¿ãã¯
- ã¹ã¿ãã¯ã¬ã¹VM
- ã³ã³ãã€ã«äžã«å®æ°ã眮ãæãã
- é 延æåããŒãã«ã®åæå
- ãªã¢ã«ãã¹ãã£ãã·ã¥ã®æ¹å
- å®è¡é床ãšã¡ã¢ãªæ¶è²»ã®æ¹å
- èšèªè§£æã®é«éå
- ãã€ããªPHPãã¡ã€ã«ãšã³ãŒãã¹ã¿ãŒãã¢ããïŒã³ãŒãã¹ã¿ãŒãã¢ããïŒã®ãµã€ãºã®æ¹å
PHP 5.4
- é 延ããã·ã¥ããŒãã«ã®é 眮
- å®æ°ããŒãã«
- ãã£ãã·ã¥ã®ãã€ã³ã
- ã€ã³ã¿ãŒã³ã¹ããªã³ã°
- åºåå±€ã®æ¹å
- é å䜿çšæã®äžé æŒç®åã®ããã©ãŒãã³ã¹ã®æ¹å
PHP 5.5
- ä»®æ³ãã·ã³ã®åŒã³åºãèŠçŽã®æ¹å
- OPcacheã®çµ±å
- Zendãšã³ãžã³ã®ä»ã®æé©å
PHP 5.6
- 空ã®æååã®åŠçãæé©åããæ°ãã空ã®å€ãé 眮ããå¿ èŠæ§ãæå°éã«æããŸãã
PHP 7ãš PHP 5.6
ãããã®æ¹åã®ã»ãšãã©ã¯ãZendãšã³ãžã³ã«é¢é£ããŠããŸãã
- ã³ã¢ããŒã¿æ§é ã®ãªãã¡ã¯ã¿ãªã³ã°
- ä»®æ³ãã·ã³ã®åŒã³åºãèŠçŽã®æ¹å
- æ°ãããã©ã¡ãŒã¿ãŒè§£æAPI
- æ°ããã¡ã¢ãªãããŒãžã£ãŒ
- å€æ°ã®ä»®æ³ãã·ã³ãšã°ãŒãã¥ãŒã¿ãŒã®æ¹å
- ã¡ã¢ãªäœ¿çšéãå€§å¹ ã«åæž
- æ¹åããã
__call()
ããã³__callStatic()
é¢æ° - æååã®é£çµã®æ¹å
- æååã§ã®æåæ€çŽ¢ã®æ¹å
PHP 7.1ãããã©ãŒãã³ã¹ã®æ¹å
- æ°ããSSAããŒã¹ã®æé©åãã¬ãŒã ã¯ãŒã¯ïŒopcacheã«çµã¿èŸŒãŸããŠããŸãïŒ
- åæšè«ã«åºã¥ãã°ããŒãã«PHPãã€ãã³ãŒãæé©å
- é«åºŠã«å°éåãããä»®æ³ãã·ã³ãªãã³ãŒããã³ãã©ãŒ
PHP 8ãŸãã¯PHP 7.2ã®ããããã£ãå®éšçãªJITãã©ã³ã
- ãžã£ã¹ãã€ã³ã¿ã€ã ã®ã³ã³ãã€ã«
ããã©ãŒãã³ã¹ã®æž¬å®æ¹æ³
ãã³ãããŒã¯ã®å®è¡ã¯ãUnix time
ã³ãã³ãã®å®è¡ãããå°ãè€éã§ãããã€ãã®æ®µéãçµãŸããã
ã·ã¹ãã ã®ã»ããã¢ãã
Cã¯ã次ã®ç¹æ§ãæã€å°çšã·ã¹ãã ãäœæããŸããã
- 1ã€ã®ä»®æ³ã³ã¢ã2.4 GHzã2 GBã®ã¡ã¢ãªã2ã€ã®SSDãã©ã€ããåããVPS-1ã€ã¯OSçšã2ã€ç®ã¯PHPãœãŒã¹ãã¡ã€ã«ããã€ããªãã¡ã€ã«ãããã³èšé²ã¬ããŒãã®ä¿åçšã
- OS Debian Wheezy 3.2.82-1
- Gnu Cã³ã³ãã€ã©ãŒ4.9.2-10ïŒDebian Jessieãã£ã¹ããªãã¥ãŒã·ã§ã³ïŒã
ã·ã¹ãã ã¯Gnu C 4.7.2ã³ã³ãã€ã©ãŒã§æäŸãããŸããããããæ°ããããŒãžã§ã³ãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãããå®éšçãªJITãã©ã³ãã¯Gnu C 4.8以éã䜿çšããŠã³ã³ãã€ã«ããå¿ èŠããããŸãã
ãœãŒã¹ã³ãŒãã®ã³ã³ãã€ã«
å®å šãªãã£ã¹ããªãã¥ãŒã·ã§ã³ãæ§ç¯ããåã«ã次ã®ãã©ã¡ãŒã¿ãŒã䜿çšããŠæ§æã¹ã¯ãªãããå®è¡ããŸããã
--prefix=/usr/local/php --disable-debug --disable-phpdbg --enable-mysqlnd --enable-bcmath --with-bz2=/usr --enable-calendar --with-curl --enable-exif --enable-fpm --with-freetype-dir --enable-ftp --with-gd --enable-gd-jis-conv --enable-gd-native-ttf --with-gettext=/usr --with-gmp --with-iconv --enable-intl --with-jpeg-dir --enable-mbstring --with-mcrypt --with-openssl --enable-pcntl --with-pdo-mysql=mysqlnd --with-png-dir --with-recode=/usr --enable-shmop --enable-soap --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-xmlrpc --with-xsl --with-zlib=/usr --enable-zip --with-mysqli=mysqlnd
ãã¡ãããå€ãããŒãžã§ã³ãã³ã³ãã€ã«ããŸããããäžéšã®ãã©ã¡ãŒã¿ãŒãç¡å¹ã«ããããä»ã®ãã©ã¡ãŒã¿ãŒã«çœ®ãæããå¿ èŠããããŸããã ãŸãããã¹ãŠã®æ¡åŒµæ©èœãå©çšå¯èœã§ãã£ãããã§ã¯ãªãããã³ã³ãã€ã«ã§ããŸããã§ããã
ãã³ãããŒã¯ã®éå§
åãã³ãããŒã¯ã¯ãPHP CLIïŒã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ïŒã䜿çšããŠã以äžãå®è¡ããç¹å¥ãªã¹ã¯ãªããã䜿çšããŠèµ·åãããŸããã
1ïŒ microtime()
é¢æ°ã䜿çšããŠã microtime()
ã¹ã¯ãªãããå€æŽããå
éšããå®è¡æéã枬å®ããŸããã å€æŽåŸãã¹ã¯ãªããã¯æ¬¡ã®ããã«ãªããŸããã
<?php $__start__ = microtime( true ); /*** ***/ fprintf( STDERR, microtime( true ) - $__start__); ?>
ããã¯ãã¹ã¯ãªããã®åäœãå€æŽããã«ãå éšããã¹ã¯ãªããã®æ¬¡å ã®å®å®æ§ã確ä¿ããããã«è¡ãããŸããã
2ïŒæ¬¡ã«ãå®è¡å¯èœãªPHPãã¡ã€ã«ãšãã³ãããŒã¯ã¹ã¯ãªããã®å 容ãOSãã£ãã·ã¥ã«ããããã«ã2åã®ãã©ã€ã©ã³ãè¡ãããŸããã
3ïŒã¹ã¯ãªããã5åå®è¡ãããæå°ãæ倧ãããã³å¹³åã®å®è¡æéãä¿åãããŸããã ãã®èšäºã§ã¯ãå¹³åå€-ãã¹ã¯ãªããå®è¡æéãã®ã¿ã玹ä»ããŸãã
php.iniã§ã¯æ¬¡ã®èšå®ã䜿çšãããŸããã
engine = On short_open_tag = Off realpath_cache_size = 2M max_execution_time = 86400 memory_limit = 1024M error_reporting = 0 display_errors = 0 display_startup_errors = 0 log_errors = 0 default_charset = "UTF-8" [opcache] zend_extension=opcache.so opcache.enable=1 opcache.enable_cli=1 opcache.optimization_level=-1 opcache.fast_shutdown=1 opcache.validate_timestamps=1 opcache.revalidate_freq=60 opcache.use_cwd=1 opcache.max_accelerated_files=100000 opcache.max_wasted_percentage=5 opcache.memory_consumption=128 opcache.consistency_checks=0 opcache.huge_code_pages=1 // PHP 8/Next only opcache.jit=35 opcache.jit_buffer_size=32M
çµæã®è§£é
å®è¡æéã¯ãUnixã®time
ã³ãã³ãã䜿çšããŠæž¬å®ãããŸããã ãµã³ãã«åºåïŒ
$ time php bench.php real: 0m1.96s user: 0m1.912s sys: 0m0.044s
real
ã®å€ã¯ãã³ãã³ããããããäžæãããŸã§ã®æéã§ãïŒã³ãã³ãã©ã€ã³ã«æ»ããŸã§ïŒã
å€user
ã¯ããŠãŒã¶ãŒã³ãŒãïŒãã®å Žåãå®è¡å¯èœãªPHPãã¡ã€ã«ïŒã®å®è¡ã«è²»ããããæéã§ãã
sys
å€ã¯ãOSã³ãŒãïŒã«ãŒãã«ïŒã®å®è¡ã«è²»ããããæéã§ãã ãã®å€ã¯æå°éã«æããå¿
èŠããããŸãããã³ãŒããé
ãããã€ã¹ãªã©ã«ã¢ã¯ã»ã¹ããå Žåã«è¡šç€ºãããå€ãããã¯ããã«å€§ãããªãããšããããŸãã ãŸããOSã®é«è² è·ã¯å€ã«åœ±é¿ãäžããå¯èœæ§ããããŸãã
ã¹ã¿ã³ãã€ã·ã¹ãã ã§ã¯ã user + sys
åèšå€ã¯real
ã«éåžžã«è¿ãã¯ãã§ãã äžèšã®äŸã§ã¯ã user + sys = 1,956 , real = 1,960
ã§ãã 0.004 sã®å·®ã¯ãããã»ã¹ã§ã¯ãªããOSã®ã¿ã¹ã¯ïŒãã£ã¹ããããªã©ïŒã«é¢ä¿ããŠããŸãã
åãã¹ã¯ãªããã¯ã3ã€ã®ç°ãªãPHPããŒãžã§ã³ã§äžŠè¡ããŠã³ã³ãã€ã«ããªãããè² è·ã®é«ãOSã§å®è¡ãããŸããã
$ time php bench.php real: 0m7.812s user: 0m2.02s sys: 0m0.101s
ã芧ã®ãšãããè² è·ã¬ãã«ã¯ã©ã³ã¿ã€ã ïŒããã³å Žåã«ãã£ãŠã¯ã·ã¹ãã æéïŒã«åŒ·ã圱é¿ããŸãã ãããã£ãŠããã³ãããŒã¯ã«å¥ã®å€ãè¿œå ããŸãã-ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®overhead
ã ããã¯ã elapsed time
ãšãŠãŒã¶ãŒæéãšã·ã¹ãã æéã®åèšãšã®å·®ã§ãã
ãã³ãããŒã¯å®è¡äžã«ãã¹ã¯ãªãããæ°åç§ããã£ãå Žåã§ãã99ïŒ ã®æéã§ãã®å€ã100ããªç§æªæºã§ããããšã確èªããŸããã
Dmitry StogovãšPHPéçºããŒã å šäœã«æè¬
ãã®èšäºã¯ãDmitry Stogovã®ç©æ¥µçãªæ¯æŽãåããŠäœæãããŸããã 圌ã¯ããã€ãã®ãã€ã³ããæ確ã«ããããã«æ瀺ãããæ å ±ãã¬ãã¥ãŒããŸããã
Dmitryã¯Turck MMCacheæ¡åŒµæ©èœã®éçºè ã§ãããPHP4ã䜿çšããŠPHPãªãã³ãŒããå ±æã¡ã¢ãªã«ãã£ãã·ã¥ã§ããããã§ãã ãã®åŸãDmitryã¯Zendã®äœæ¥ãéå§ããŸãããããã¯åœŒãä»æ¥ãŸã§è¡ã£ãŠããããšã§ãã
圌ã¯ãã€ãŠPHPNGã®äœæãéå§ããåŸã«PHP 7ã«ãªããŸãããNikitaPopovãšXinchen Huiã¯ããã®ããŒãžã§ã³ãšåŸç¶ã®ããŒãžã§ã³ã§DmitryãšååããŸããã
Andy GutmansãZeev Suraskyãããã³Stas Malyshevã¯ãPHP 5ã®äœæã«å€§ããè²¢ç®ããŸããã ãã®èšäºãç ©éã«ããªãããã«ãä»ã®å€ãã®éçºè ãããã«æããŸããã
PHPã®éçºã«ãååããã ããçæ§ãžã®ç¹å¥ãªæè¬ã®åç»
2016幎ãPHPã®ç»å Žãã21幎-1995幎6æ8æ¥ã
äœããã®æ¹æ³ã§PHPã®éçºã«è²¢ç®ãããã¹ãŠã®äººã«æ¬æãè¡šããããã«ãPeter Kokotã¯Gourceã䜿çšããŠã¢ãã¡ãŒã·ã§ã³ãããªãäœæããŸãã ã ãã®èšèªã®ã©ã€ããµã€ã¯ã«å šäœãéããŠãäž»èŠãªPHPã¢ãžã¥ãŒã«ã®éçºã«ã€ããŠèª¬æããŠããŸãã
Peter Kokot㯠PHPã³ãã¥ããã£ãŒã§ããç¥ãããŠããŸãã 圌ã¯ãåäžã®ããã°ã©ãã³ã°èšèªã«ç¹åããæ倧ã®ã°ã«ãŒãã§ããFacebookã® PHP Groupãèšç«ããŸãã ã 14äžäººä»¥äžã®åå è ãš22人ã®ã¢ãã¬ãŒã¿ãŒã§æ§æãããŠããŸãã PHPã®äœæè ã§ããRasmus Lerdorfã¯ããPHPã®äžçã§ã¯ãã³ãã¥ããã£ã®åããªãã§ã¯äœãèµ·ãããŸããããšèªã£ãŠããŸãã ãããã®èšèãããªãã«åºæ¿ãäžããããšãé¡ã£ãŠããŸã
Cã§ã³ãŒããèšè¿°ããŠãPHPã®éçºãæ¯æŽã§ããªãå Žåã¯ãPHPéçºãGitHubãPHPã¯ã©ã¹ãPackagist-ã©ãã«ã§ãã¢ããããŒãã§ããŸãã ãã¹ããã©ã¯ãã£ã¹ãå ±æããå Žæãå€ããã°å€ãã»ã©ããã®ã§ãã
ãããã«
ãã®èšäºã®ç®çã¯ã5.0ããå§ãŸããææ°ã®å®éšããŒãžã§ã³ã§çµãããPHPã®ããŸããŸãªããŒãžã§ã³ã®ããã©ãŒãã³ã¹ã®æŠå¿µã瀺ãããšã§ãã ãã¹ãã¯ãããç¥ããããã³ãããŒã¯ã䜿çšããŠå®è¡ãããŸããã ãã®èšäºã§ã¯ãPHPã®ããŸããŸãªããŒãžã§ã³ã®ããã©ãŒãã³ã¹ãæ¹åããæ¹åç¹ã®ãªã¹ããæäŸããŠããŸãã