Skip to content

Zeroplex 生活隨筆

軟體開發、伺服器和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

PHP strict typing performance

Posted on 2017 年 8 月 5 日2021 年 3 月 12 日 By 日落 在〈PHP strict typing performance〉中尚無留言

聽說 PHP 使用 strict type hint 會讓速度變慢,於是來做了個簡單的測試,先來個沒有 type hint 的:

<?php

function repeat($str)
{
    return $str;
}

$start = microtime(true);

for ($i = 0; $i < 100000000; $i++) {
    repeat('test');
}

$end = microtime(true);

var_dump($end - $start);

使用 PHP 7.1.8 執行,大概會花費 3.7 秒左右:

$ php main.php
float(3.713329076767)

接下來改成 strict type 的寫法:

<?php

declare(strict_types=1);

function repeat(string $str): string
{
    return $str;
}

$start = microtime(true);

for ($i = 0; $i < 100000000; $i++) {
    repeat('test');
}

$end = microtime(true);

var_dump($end - $start);

執行時間大概變成 5.3 秒左右:

$ php main.php 
float(5.3128638267517)

的確慢了不少,不過先別著急,不要因為慢了一些就打算放棄 strict type hint。

使用 PHP 5.6 去執行第一個測試 (沒有 strict type) 就大約需要 19 秒:

$ php5.6 main.php
float(19.477375030518)

其實把 PHP 版本升級上 7.x 才是正確的吧 XD

Tags:PHP

文章導覽

Previous Post: Apache / Nginx 與 PHP 各種搭配方式的效能測試
Next Post: rpm 列出套件時不顯示套件版本號

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


其他

關於我  (About me)

小額贊助

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows WordPress XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.