nodejs 碰到了个奇葩问题, mac 执行快,非 mac 下执行慢

36次阅读

共计 580 个字符,预计需要花费 2 分钟才能阅读完成。

TS 封装了一个 class

使用 Cheerio 对 HTML 进行解析和 dom 渲染操作,无网络和磁盘操作。

单纯的内存对象处理,使用了一些正则匹配。

mac 开发环境 60 ~ 80ms 执行时间

打包 docker 之后,mac 无资源限制的情况下,执行同一个 HTML 用了 600+ms

docker 部署到服务器后,也是 600ms+, 裸机 debian,centos 测试结果相差不大,考虑到机器差异。

有办法知道是哪的差异吗?这个性能差异有点大。

// 问题片段
async run(){const startTime = new Date().getTime();
    const config = await loadConfig();
    const {body: { run} } = config;
    let data: any = {};
    // dom 渲染 
    this.render();
    
    // 解析 dom 数据
    for (const [key, value] of Object.entries(run)) {data[key] = this.parse({item: value, parentElement: null, parentKey: 'run'}); 
    }
    const endTime = new Date().getTime();
    const execTimeMs = (endTime - startTime);
    return {
      exec_time_ms: execTimeMs,
      ...data
    };
  }
正文完
 0