国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

webman中如何優(yōu)化以下代碼執(zhí)行速度(偽代碼)?

無鞋刺客

發(fā)現(xiàn)nodejs來執(zhí)行這種就很快(我知道nodejs天生異步),想知道在webman里是否有提高執(zhí)行速度的方案?

比如要生成10000個或者更多個文件,如何提高速度?
截圖

1529 4 1
4個回答

luohonen

第一:手動用fwrite()比直接用file_put_contents要塊很多
第二:把事件驅(qū)動換成swoole,配置里面就可以改,然后用swoole_async_writefile 異步寫入文件函數(shù),那就很快了

tanhongbin

這種webman寫估計不咋地,應(yīng)該不會快的,nodejs大概多少時間?

  • 無鞋刺客 2023-04-03

    忘了,反正甩php幾條街

  • tanhongbin 2023-04-03

    這玩意有啥實際意義嘛?我看壓測node js 沒有干過webman呀

  • 無鞋刺客 2023-04-03

    有一些地方有這種場景的,比如一些文章需要生成靜態(tài)html,文章可能幾十萬,這時候用php(tp或webman,不打算用swoole)就很慢,但發(fā)現(xiàn)用nodejs 快不止一點點

  • tanhongbin 2023-04-03

    哦哦,這玩意只能多開進程,每個進程生產(chǎn)100個,開100個進程試試呢

  • 無鞋刺客 2023-04-03

    有空試試

SillyDog

項目引入amphp 或者 reactphp 然后你就會發(fā)現(xiàn) js那一套怎么過來了 /手動狗頭

  • 無鞋刺客 2023-04-03

    workerman做不到嗎 /手動狗頭

  • SillyDog 2023-04-03

    workerman 應(yīng)該是實現(xiàn)不了的 它更像是php在cli下運行的一種方案 而不是 異步庫

  • SillyDog 2023-04-03

    如果考慮php原生實現(xiàn)可以看下 php Fiber 或者 php yield 這兩種方案 但是他們都更加底層

  • SillyDog 2023-04-03

    amphp 或者 reactphp 就是對這兩種東西的封裝 他們更加成熟

wolfcode
    public function index()
    {
        $t1   = microtime(true);
        $data = $this->testRange(10000);
        foreach ($data as $file) {
            fputs($file, "Hello World!");
            fclose($file);
        }
        $t2   = microtime(true);
        $tips = "運行時長:" . round(($t2 - $t1), 3) . 's';
        var_dump($tips);
    }

    protected function testRange($len)
    {
        $public = public_path() . "";
        for ($i = 1; $i <= $len; $i++) {
            yield fopen($public . "test_" . $i . ".txt", "w");
        }
    }
  • 無鞋刺客 2023-04-03

    我測比我上面截圖代碼還慢

  • wolfcode 2023-04-03

    上面截圖的在你機子上幾秒?

  • tanhongbin 2023-04-03

    1.073秒還慢?

  • wolfcode 2023-04-03

    1.073秒還慢?

  • 無鞋刺客 2023-04-03

    不對不對,我剛才寫錯了,原始是26秒,改成上面的代碼也是10秒左右,確實快了,nodejs 2.5秒

  • luohonen 2023-04-03

    我這機子測試0.7秒

  • tanhongbin 2023-04-03

    自定義進程試試,然后分配寫入呢

  • tanhongbin 2023-04-03

    我windows 機器測試都是2.77秒

  • tanhongbin 2023-04-03

    linux估計更快

  • 無鞋刺客 2023-04-03

    window系統(tǒng),我截圖代碼在tp6里耗時 跟上面 網(wǎng)友提供的代碼 運行基本 6秒左右,并沒有差距,我還是用nodejs吧,不折騰了

年代過于久遠,無法發(fā)表回答
??