Changeset 244973 in webkit


Ignore:
Timestamp:
May 6, 2019 1:36:40 PM (5 years ago)
Author:
sbarati@apple.com
Message:

JS2 should print scores for different categories
https://bugs.webkit.org/show_bug.cgi?id=197605

Reviewed by Yusuke Suzuki.

  • JetStream2/JetStreamDriver.js:

(displayCategoryScores):
(isInBrowser.document.onkeydown):
(Driver.prototype.async.start):
(Driver.prototype.async.reportScoreToRunBenchmarkRunner):

Location:
trunk/PerformanceTests
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/PerformanceTests/ChangeLog

    r244357 r244973  
     12019-05-06  Saam Barati  <sbarati@apple.com>
     2
     3        JS2 should print scores for different categories
     4        https://bugs.webkit.org/show_bug.cgi?id=197605
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        * JetStream2/JetStreamDriver.js:
     9        (displayCategoryScores):
     10        (isInBrowser.document.onkeydown):
     11        (Driver.prototype.async.start):
     12        (Driver.prototype.async.reportScoreToRunBenchmarkRunner):
     13
    1142019-04-16  Jon Lee  <jonlee@apple.com>
    215
  • trunk/PerformanceTests/JetStream2/JetStreamDriver.js

    r243597 r244973  
    4242const defaultWorstCaseCount = 4;
    4343
     44let showScoreDetails = false;
     45let categoryScores = null;
     46
     47function displayCategoryScores() {
     48    if (!categoryScores)
     49        return;
     50
     51    let summaryElement = document.getElementById("result-summary");
     52    for (let [category, scores] of categoryScores)
     53        summaryElement.innerHTML += `<p> ${category}: ${uiFriendlyNumber(geomean(scores))}</p>`
     54
     55    categoryScores = null;
     56}
     57
     58if (isInBrowser) {
     59    document.onkeydown = (keyboardEvent) => {
     60        let key = keyboardEvent.key;
     61        if (key === "d" || key === "D") {
     62            showScoreDetails = true;
     63
     64            displayCategoryScores();
     65        }
     66    };
     67}
     68
    4469function assert(b, m = "") {
    4570    if (!b)
     
    175200
    176201            try {
    177 
    178202                await benchmark.run();
    179203            } catch(e) {
     
    198222            allScores.push(benchmark.score);
    199223
     224        categoryScores = new Map;
     225        for (let benchmark of this.benchmarks) {
     226            for (let category of Object.keys(benchmark.subTimes()))
     227                categoryScores.set(category, []);
     228        }
     229
     230        for (let benchmark of this.benchmarks) {
     231            for (let [category, value] of Object.entries(benchmark.subTimes())) {
     232                let arr = categoryScores.get(category);
     233                arr.push(value);
     234            }
     235        }
     236
    200237        if (isInBrowser) {
    201238            summaryElement.classList.add('done');
    202239            summaryElement.innerHTML = "<div class=\"score\">" + uiFriendlyNumber(geomean(allScores)) + "</div><label>Score</label>";
     240            summaryElement.onclick = displayCategoryScores;
     241            if (showScoreDetails)
     242                displayCategoryScores();
    203243            statusElement.innerHTML = '';
    204         } else
     244        } else {
     245            console.log("\n");
     246            for (let [category, scores] of categoryScores)
     247                console.log(`${category}: ${uiFriendlyNumber(geomean(scores))}`);
     248
    205249            console.log("\nTotal Score: ", uiFriendlyNumber(geomean(allScores)), "\n");
     250        }
    206251
    207252        this.reportScoreToRunBenchmarkRunner();
     
    332377                },
    333378                "tests": subResults,
    334             };;
     379            };
    335380        }
    336381
Note: See TracChangeset for help on using the changeset viewer.