zoukankan      html  css  js  c++  java
  • 判定浏览器是支持JIT

    这来源于一个非常现实的性能测试需求。要知道IE(除了刚诞生的IE9),其他出名的浏览器都支持JIT技术来提高代码的执行能力,那么我们进行性能测试时,通常会对某个函数的几个实现循环执行10000次来评估其优劣。但10000次有时对IE来说太多了,几乎不可能的计算量就把它down掉了,对于一些旧点的标准浏览器也是如此,因此这个循环次数不能死定为一个数量级。这个量化标准我就规定为浏览器是否支持JIT,是就让它循环数多一点,不是就少一点。不过怎么判定它是否支持呢?虽然过度优化,可能会带来一些神奇的bug,但它们也很快会被浏览器修正掉。唯一的办法就是到它们的官网查看它们是在哪个版本加入这支持了。

      (function(){
        //by 司徒正美 http://www.cnblogs.com/rubylouvre/
        this.dom = {};
        var ver =parseFloat(((/(?:rv\:|ari\/|sto\/)(\d+\.\d+(\.\d+)?)/.
          exec(navigator.userAgent) || [,0])[1]).toString().replace(/[^\d\.]/g, "").
          replace(/^(\d+\.\d+)(\.(\d+))?$/,"$1$3"));
        dom.jit = document.documentMode === 9 ||// IE 9+
        this.crypto && ver > 1.9 ||// firefox 3.5+(1.91)
        this.opera && this.opera.version()*1 >= 10.5 ||// opera10.50+
        navigator.vendor && ver >= 528 || !1 // safari 4+, chrome 2+
    
      })();
    

  • 相关阅读:
    如何将javaweb项目部署到阿里云服务器上
    解决ueditor配置文件第一行报错及乱码问题
    解决web.xml中<async-supported>true</async-supported>报错问题
    解决建完Maven项目没有main文件夹问题
    CentOS常用命令之搜索文件
    CentOS常用命令之创建删除剪切链接
    Jupyter notebook: TypeError: __init__() got an unexpected keyword argument 'io_loop 问题
    编译分布式并行版caffe(Open MPI)教程
    树状数组
    马拉车算法
  • 原文地址:https://www.cnblogs.com/rubylouvre/p/1831292.html
Copyright © 2011-2022 走看看