在Chrome中获取微风元数据的速度很慢,在IE中速度很快

时间:2013-02-08 15:21:53

标签: breeze

在Chrome中,为我的模型提取元数据似乎非常慢,但在IE中却很快。

我的dbcontext包含大约35个具有大量导航属性的实体,我添加的每个实体都会增加延迟。目前延迟大约是20秒,在查询返回原始元数据之后开始,并且它完全是CPU工作,内存使用率保持稳定。我有一个i7处理器和充足的内存。

我知道javascript引擎在这两种浏览器中的应用存在差异,Chrome javascript JIT编译器针对浮点运算进行了优化(这就是为什么webgl图形在Chrome中比IE快一千倍) - 可以这会对fetchMetaData必须做的工作产生影响吗?

有没有人注意到这种缓慢?可能是我的人际关系错了吗?一旦延迟结束,一切都有效,所以我怀疑关系可能是一个问题。

2 个答案:

答案 0 :(得分:1)

发现问题和解决方案!

感谢您抽出时间来看看这个问题,在您回复之后我决定将整个项目拆分为基础,我可以重现问题并寻找任何干扰。

这是一个较旧的项目,我实施了Breeze。该项目使用标准的jquery post / get方法从MVC获取数据,因为从MVC发布和接收json数据时日期和时间一直是个问题我在我的启动脚本中有这个代码:

    // Add datafilter to jQuery ajax calls to translate dates
$.ajaxSettings.dataFilter = function (data, type) {
    //if (type === 'json') {
    // convert things that look like Dates into a UTC Date string and completely replace them.
    data = data.replace(/(.*?")(\\\/Date\([0-9\-]+\)\\\/)(")/g,
                    function (fullMatch, $1, $2, $3) {
                        try {
                            return $1 + new Date(parseInt($2.substr(7))) + $3;
                        }
                        catch (e) { }
                        // something miserable happened, just return the original string
                        return $1 + $2 + $3;
                    });
    //}
    return data;
};

删除此代码后(由于微风确实正确日期),一切正常。这种类型的代码可能在其他必须正确处理日期的旧项目中很常见,我知道我从WiredPrairie获得了上述代码片段,我确信其他人也会遇到这个问题。

答案 1 :(得分:0)

的Dmitri,     我无法重复这一点,所以我想知道是否还有其他事情没有涉及。您是否也尝试过Firefox?