{"id":55,"date":"2021-11-28T00:22:00","date_gmt":"2021-11-27T15:22:00","guid":{"rendered":"https:\/\/www.b64.pw\/blog\/?p=55"},"modified":"2021-11-27T22:26:11","modified_gmt":"2021-11-27T13:26:11","slug":"php8-1-8-0-7-4%e3%81%aecli%e3%81%a7%e3%81%ae%e3%83%91%e3%83%95%e3%82%a9%e3%83%bc%e3%83%9e%e3%83%b3%e3%82%b9%e6%af%94%e8%bc%83","status":"publish","type":"post","link":"https:\/\/www.b64.pw\/blog\/?p=55","title":{"rendered":"PHP8.1, 8.0, 7.4\u306ecli\u3067\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6bd4\u8f03"},"content":{"rendered":"\n<p>2021-11-27\u6642\u70b9\u3067\u306e\u5404\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u5b89\u5b9a\u30ea\u30ea\u30fc\u30b9\u7248\u3092\u30d3\u30eb\u30c9\u3057\u3066\u6bd4\u8f03\u3002<br><\/p>\n\n\n\n<p>\u6761\u4ef6<\/p>\n\n\n\n<ul><li>JIT Off<\/li><li>Preload Off<\/li><li>build option &#8211;enable-cli\u306e\u307f<\/li><li>PHP Ver. \u306f 7.4.26, 8.0.13, 8.1.0\u3092\u4f7f\u7528<\/li><li>\u30d9\u30f3\u30c1\u30de\u30fc\u30af\u3059\u308b\u30b3\u30fc\u30c9\u306f\u30e1\u30e2\u5316\u3057\u306a\u3044fibonacci<\/li><li>fibonacci\u306fn=40\u3092\u6c42\u3081\u308b<\/li><\/ul>\n\n\n\n<p>\u691c\u8a3c\u7528\u30b3\u30fc\u30c9<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\r\n\r\/\/ fib.php\necho '=================='.PHP_EOL;\r\necho 'PHP ver. '.phpversion().PHP_EOL;\r\n\r\nfunction fib($n){\r\n  if($n==0|$n==1){return 1;}\r\n  \/\/ static $memo = &#91;];\r\n  \/\/ if(isset($memo&#91;$n])){return $memo&#91;$n];}\r\n  \/\/ $res = fib($n-1)+fib($n-2);\r\n  \/\/ return $memo&#91;$n] = $res;\r\n  return fib($n-1)+fib($n-2);\r\n}\r\n\r\n$num = $argv&#91;1] ?? 40;\r\necho 'n='.$num.PHP_EOL;\r\necho fib($num).PHP_EOL;\r\n\r\necho '=================='.PHP_EOL;\r<\/code><\/pre>\n\n\n\n<p>\u7d50\u679c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ time \/usr\/local\/php74\/bin\/php fib.php ;time \/usr\/local\/php80\/bin\/php fib.php ;time \/usr\/local\/php81\/bin\/php fib.php\r\n==================\r\nPHP ver. 7.4.26\r\nn=40\r\n165580141\r\n==================\r\n\r\nreal    0m8.762s\r\nuser    0m8.750s\r\nsys     0m0.016s\r\n==================\r\nPHP ver. 8.0.13\r\nn=40\r\n165580141\r\n==================\r\n\r\nreal    0m9.211s\r\nuser    0m9.203s\r\nsys     0m0.016s\r\n==================\r\nPHP ver. 8.1.0\r\nn=40\r\n165580141\r\n==================\r\n\r\nreal    0m8.696s\r\nuser    0m8.688s\r\nsys     0m0.000s<\/code><\/pre>\n\n\n\n<p>\u8003\u5bdf<br>\u7d14\u7c8b\u306a\u8a08\u7b97\u901f\u5ea6\u306f\u5927\u304d\u306a\u9055\u3044\u306f\u5c11\u306a\u305d\u3046\u3002<br>\u4f55\u56de\u304b\u7e70\u308a\u8fd4\u3057\u3066\u3082\u901f\u5ea6\u304cPHP8.1>PHP7.4>PHP8.0\u306e\u9806\u3060\u3063\u305f\u306e\u3067\u3001\u3082\u3057\u304b\u3057\u3066\u5b9f\u306f8.0\u306f7.4\u3088\u308a\u9045\u304b\u3063\u305f\u8aac\u3002<br><a href=\"https:\/\/www.php.net\/releases\/8.1\/en.php#performance_improvements\">\u516c\u5f0f\u306e\u30a2\u30ca\u30a6\u30f3\u30b9\u306b\u3042\u308b\u901f\u5ea6\u6539\u5584<\/a>\u306f\u5de8\u5927\u306aWebFrameWork\u306b\u5bfe\u3059\u308bOPcache\u306e\u52b9\u7387\u304c\u5909\u5316\u3057\u3066\u3044\u308b\u3088\u3046\u306b\u601d\u3048\u308b\u3002<br>\u6a5f\u4f1a\u304c\u3042\u308c\u3070\u4e0b\u8a18\u8ffd\u8a66\u3092\u884c\u3044\u305f\u3044\u3068\u3053\u308d\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"866\" src=\"https:\/\/www.b64.pw\/blog\/wp-content\/uploads\/2021\/11\/image-1024x866.png\" alt=\"\" class=\"wp-image-56\" srcset=\"https:\/\/www.b64.pw\/blog\/wp-content\/uploads\/2021\/11\/image-1024x866.png 1024w, https:\/\/www.b64.pw\/blog\/wp-content\/uploads\/2021\/11\/image-300x254.png 300w, https:\/\/www.b64.pw\/blog\/wp-content\/uploads\/2021\/11\/image-768x649.png 768w, https:\/\/www.b64.pw\/blog\/wp-content\/uploads\/2021\/11\/image.png 1048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>c.f. https:\/\/www.php.net\/releases\/8.1\/en.php#performance_improvements<\/p>\n","protected":false},"excerpt":{"rendered":"<p>2021-11-27\u6642\u70b9\u3067\u306e\u5404\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u5b89\u5b9a\u30ea\u30ea\u30fc\u30b9\u7248\u3092\u30d3 &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[],"_links":{"self":[{"href":"https:\/\/www.b64.pw\/blog\/index.php?rest_route=\/wp\/v2\/posts\/55"}],"collection":[{"href":"https:\/\/www.b64.pw\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.b64.pw\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.b64.pw\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.b64.pw\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=55"}],"version-history":[{"count":3,"href":"https:\/\/www.b64.pw\/blog\/index.php?rest_route=\/wp\/v2\/posts\/55\/revisions"}],"predecessor-version":[{"id":59,"href":"https:\/\/www.b64.pw\/blog\/index.php?rest_route=\/wp\/v2\/posts\/55\/revisions\/59"}],"wp:attachment":[{"href":"https:\/\/www.b64.pw\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=55"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.b64.pw\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=55"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.b64.pw\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=55"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}