V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
seakingii
V2EX  ›  PHP

关于 WEBMAN 的视图的效率

  •  
  •   seakingii · 6 天前 · 483 次点击

    环境:

    PHP8.3 开启了

    zend_extension=opcache

    opcache.enable=1

    opcache.enable_cli=1

    有两路径

    1 是 return json(['code' => 1, 'msg' => 'ok']);

    2 是 return view('index/view', ['name' => 'webman']); , 视图是创建好项目自带的那个,就几行 HTML

    目前我测试


    路由 1 Reqs/sec 14790.64

    路由 2 Reqs/sec 4885.37

    而且我开不开 OPCACHE 对路由 2 没有什么影响 ,开之前是这个水平,开之后也是这个水平

    问题: 是不是哪里配置有错?搞的 view 的效率这么低(和 JSON 相比)?

    3 条回复
    ntedshen
        1
    ntedshen  
       6 天前
    这 json 和 view 都不是原生函数,难道不该问这框架啥效率么。。。
    以及你这 index/view 看着是个模板文件,无论如何读取本地文件这 io 都是要时间的。。。
    ntedshen
        2
    ntedshen  
       6 天前
    json
    return new Response(200, ['Content-Type' => 'application/json'], \json_encode($data, $options));
    view
    $request = App::request();
    $plugin = $request->plugin ?? '';
    $handler = Config::get($plugin ? "plugin.$plugin.view.handler" : 'view.handler');
    return new Response(200, [], $handler::render($template, $vars, $app));

    这个$handler 里面肯定塞了一堆东西,要看配的什么模板了(不过大概怎么处理都不会快的。。。
    codingsir
        3
    codingsir  
       5 天前
    cli 常驻内存模式下 opcache 意义不大 https://www.workerman.net/q/1501

    “workerman 的常住内存机制比 opcache 更彻底”
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2313 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:42 · PVG 20:42 · LAX 05:42 · JFK 08:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.