色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

bc php

BC PHP —— 改寫(xiě)PHP的編譯器 BC PHP,全稱(chēng)是ByteCode PHP,是一個(gè)基于 PHP 代碼的編譯器。我們可以把 PHP 程序中的源代碼,翻譯成一種高效的二進(jìn)制表示形式,這個(gè)二進(jìn)制代碼稱(chēng)為字節(jié)碼。這樣,一旦 PHP 源代碼被翻譯成字節(jié)碼,每次使用時(shí)都不必重新解析源代碼,因此可以快速地執(zhí)行程序。類(lèi)似于 Java 中的翻譯過(guò)程,我們可以先將 Java 代碼編譯為字節(jié)碼,再使用對(duì)應(yīng)的虛擬機(jī)運(yùn)行。 那么,BC PHP 更快嗎?讓我們看一下以下代碼: `````` 首先,我們使用內(nèi)置函數(shù) `opcache_compile_file` 將代碼編譯成字節(jié)碼。在輸出字節(jié)碼的前 30 行,你會(huì)看到以下內(nèi)容: ``` 00000000: 00000000 00000000 00000000 77524100 00000000 // ......wRA..... 0000000c: 78650000 00000000 00000000 00010000 00000000 // xe............. 00000018: f3c20300 00005b00 00010000 27000000 06000000 // ....[....'..... 00000024: 00000000 06000000 00000000 00000000 00000000 // ................ 00000030: 00000000 00000000 00000002 2d020000 5b000000 // .........-...[.. ``` 這就是你的代碼的二進(jìn)制表示形式。與源代碼相比,很難閱讀也很難編輯,但在運(yùn)行時(shí),它們將更快。 為了比較 BC PHP 與源代碼之間的性能差異,我們可以使用 PHP 函數(shù) `microtime`。以下代碼使用 PHP 代碼來(lái)輸出“Hello World”,然后輸出它的時(shí)間: `````` 將輸出: ``` Hello World! 2.6941299438477E-5seconds ``` 現(xiàn)在,我們使用 BC PHP,但是我們不必改變要執(zhí)行的 PHP 代碼本身。將上面的文件編譯為字節(jié)碼文件,并執(zhí)行 : ``` php -d opcache.file_cache=/tmp -d opcache.enable=1 \ -d opcache.enable_cli=1 -d opcache.file_cache_only=1 \ -d opcache.optimization_level=3 \ /path/to/helloworld.php ``` 結(jié)果輸出: ``` Hello World! 7.5101852416992E-6seconds ``` 即使在簡(jiǎn)單的腳本中,這里的差異可能并不明顯。但是,隨著應(yīng)用程序規(guī)模的增長(zhǎng),BC PHP 明顯比執(zhí)行 PHP 腳本的速度更快。 BC PHP 可以作為 Zend 的替代品,以提供更快的 PHP 執(zhí)行速度。這也是 Laravel 框架默認(rèn)打開(kāi) opcache 特性的原因之一。 總之,BC PHP 為我們提供了一個(gè)更快速的 PHP 執(zhí)行方式。雖然開(kāi)發(fā)者需要探索一些新工具和技術(shù),但是 BC PHP 的使用是一項(xiàng)有利的嘗試。如果你是一個(gè) PHP 開(kāi)發(fā)者,那么你應(yīng)該嘗試使用 BC PHP 來(lái)進(jìn)行性能測(cè)試和分析。
上一篇javascript jq