⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sunspider-compare-results.js

📁 linux下开源浏览器WebKit的源码,市面上的很多商用浏览器都是移植自WebKit
💻 JS
📖 第 1 页 / 共 2 页
字号:
/* * Copyright (C) 2007 Apple Inc.  All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  */function sunspiderCompareResults(output1, output2){    var count1 = output1.length;    var count2 = output2.length;    var itemTotals1 = {};    itemTotals1.length = count1;        var total1 = 0;    var categoryTotals1 = {};    var testTotalsByCategory1 = {};        var mean1 = 0;    var categoryMeans1 = {};    var testMeansByCategory1 = {};        var stdDev1 = 0;    var categoryStdDevs1 = {};    var testStdDevsByCategory1 = {};        var stdErr1 = 0;    var categoryStdErrs1 = {};    var testStdErrsByCategory1 = {};        var itemTotals2 = {};    itemTotals2.length = count2;        var total2 = 0;    var categoryTotals2 = {};    var testTotalsByCategory2 = {};        var mean2 = 0;    var categoryMeans2 = {};    var testMeansByCategory2 = {};        var stdDev2 = 0;    var categoryStdDevs2 = {};    var testStdDevsByCategory2 = {};        var stdErr2 = 0;    var categoryStdErrs2 = {};    var testStdErrsByCategory2 = {};        function initialize()    {        itemTotals1 = {total: []};                for (var i = 0; i < categories.length; i++) {            var category = categories[i];            itemTotals1[category] = [];            categoryTotals1[category] = 0;            testTotalsByCategory1[category] = {};            categoryMeans1[category] = 0;            testMeansByCategory1[category] = {};            categoryStdDevs1[category] = 0;            testStdDevsByCategory1[category] = {};            categoryStdErrs1[category] = 0;            testStdErrsByCategory1[category] = {};        }                for (var i = 0; i < tests.length; i++) {            var test = tests[i];            itemTotals1[test] = [];            var category = test.replace(/-.*/, "");            testTotalsByCategory1[category][test] = 0;            testMeansByCategory1[category][test] = 0;            testStdDevsByCategory1[category][test] = 0;            testStdErrsByCategory1[category][test] = 0;        }                for (var i = 0; i < count1; i++) {            itemTotals1["total"][i] = 0;            for (var category in categoryTotals1) {                itemTotals1[category][i] = 0;                for (var test in testTotalsByCategory1[category]) {                    itemTotals1[test][i] = 0;                }            }        }                itemTotals2 = {total: []};                for (var i = 0; i < categories.length; i++) {            var category = categories[i];            itemTotals2[category] = [];            categoryTotals2[category] = 0;            testTotalsByCategory2[category] = {};            categoryMeans2[category] = 0;            testMeansByCategory2[category] = {};            categoryStdDevs2[category] = 0;            testStdDevsByCategory2[category] = {};            categoryStdErrs2[category] = 0;            testStdErrsByCategory2[category] = {};        }                for (var i = 0; i < tests.length; i++) {            var test = tests[i];            itemTotals2[test] = [];            var category = test.replace(/-.*/, "");            testTotalsByCategory2[category][test] = 0;            testMeansByCategory2[category][test] = 0;            testStdDevsByCategory2[category][test] = 0;            testStdErrsByCategory2[category][test] = 0;        }                for (var i = 0; i < count2; i++) {            itemTotals2["total"][i] = 0;            for (var category in categoryTotals2) {                itemTotals2[category][i] = 0;                for (var test in testTotalsByCategory2[category]) {                    itemTotals2[test][i] = 0;                }            }        }            }        function computeItemTotals(output, itemTotals)    {        for (var i = 0; i < output.length; i++) {            var result = output[i];            for (var test in result) {                var time = result[test];                var category = test.replace(/-.*/, "");                itemTotals["total"][i] += time;                itemTotals[category][i] += time;                itemTotals[test][i] += time;            }        }    }        function computeTotals(output, categoryTotals, testTotalsByCategory)    {        var total = 0;                for (var i = 0; i < output.length; i++) {            var result = output[i];            for (var test in result) {                var time = result[test];                var category = test.replace(/-.*/, "");                total += time;                categoryTotals[category] += time;                testTotalsByCategory[category][test] += time;            }        }                return total;    }        function computeMeans(count, total, categoryTotals, categoryMeans, testTotalsByCategory, testMeansByCategory)    {        var mean = total / count;        for (var category in categoryTotals) {            categoryMeans[category] = categoryTotals[category] / count;            for (var test in testTotalsByCategory[category]) {                testMeansByCategory[category][test] = testTotalsByCategory[category][test] / count;            }        }        return mean;    }        function standardDeviation(mean, items)    {        var deltaSquaredSum = 0;        for (var i = 0; i < items.length; i++) {            var delta = items[i] - mean;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -