1cb93a386Sopenharmony_ci#!/bin/bash 2cb93a386Sopenharmony_ci# Copyright 2020 Google LLC 3cb93a386Sopenharmony_ci# 4cb93a386Sopenharmony_ci# Use of this source code is governed by a BSD-style license that can be 5cb93a386Sopenharmony_ci# found in the LICENSE file. 6cb93a386Sopenharmony_ci 7cb93a386Sopenharmony_ci# This script measures frametimes for CanvasKit rendering all skps in ~/skps, using puppeteer. It 8cb93a386Sopenharmony_ci# can optionally output a human-readable summary of the collected measurements. 9cb93a386Sopenharmony_ci# See the document "SIMD CanvasKit Build Performance Testing" for results and context: 10cb93a386Sopenharmony_ci# https://docs.google.com/document/d/114kdSGPMnOSQCZ7pFgd3MGMn5mIW562RMoXVmD13e0M/edit?ts=5f0eedf6# 11cb93a386Sopenharmony_ci# 12cb93a386Sopenharmony_ci# arguments: 13cb93a386Sopenharmony_ci# --release perfs the release build of CanvasKit and outputs data to release_out.json 14cb93a386Sopenharmony_ci# --simd perfs the experimental_simd build of CanvasKit outputs data to simd_out.json 15cb93a386Sopenharmony_ci# --summary outputs results from the perfs in a human readable table format. 16cb93a386Sopenharmony_ci# 17cb93a386Sopenharmony_ci# example usage: ./perf_all_skps.sh --release --simd --summary 18cb93a386Sopenharmony_ci 19cb93a386Sopenharmony_cifor f in $HOME/skps/*.skp; 20cb93a386Sopenharmony_cido 21cb93a386Sopenharmony_ci if [[ "$*" == *"--release"* ]] 22cb93a386Sopenharmony_ci then 23cb93a386Sopenharmony_ci echo $f 24cb93a386Sopenharmony_ci node perf-canvaskit-with-puppeteer.js \ 25cb93a386Sopenharmony_ci --canvaskit_js ../../out/canvaskit_wasm/canvaskit.js \ 26cb93a386Sopenharmony_ci --canvaskit_wasm ../../out/canvaskit_wasm/canvaskit.wasm --use_gpu \ 27cb93a386Sopenharmony_ci --input_skp $f \ 28cb93a386Sopenharmony_ci --bench_html render-skp.html \ 29cb93a386Sopenharmony_ci --chromium_executable_path "/applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary" \ 30cb93a386Sopenharmony_ci --output release_out.json \ 31cb93a386Sopenharmony_ci --merge_output_as `basename $f` 32cb93a386Sopenharmony_ci fi 33cb93a386Sopenharmony_ci if [[ "$*" == *"--simd"* ]] 34cb93a386Sopenharmony_ci then 35cb93a386Sopenharmony_ci node perf-canvaskit-with-puppeteer.js \ 36cb93a386Sopenharmony_ci --canvaskit_js ../../out/canvaskit_wasm_experimental_simd/canvaskit.js \ 37cb93a386Sopenharmony_ci --canvaskit_wasm ../../out/canvaskit_wasm_experimental_simd/canvaskit.wasm --use_gpu \ 38cb93a386Sopenharmony_ci --input_skp $f \ 39cb93a386Sopenharmony_ci --bench_html render-skp.html \ 40cb93a386Sopenharmony_ci --chromium_executable_path "/applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary" \ 41cb93a386Sopenharmony_ci --enable_simd \ 42cb93a386Sopenharmony_ci --output simd_out.json \ 43cb93a386Sopenharmony_ci --merge_output_as `basename $f` 44cb93a386Sopenharmony_ci fi 45cb93a386Sopenharmony_cidone 46cb93a386Sopenharmony_ciif [[ "$*" == *"--summary"* ]] 47cb93a386Sopenharmony_cithen 48cb93a386Sopenharmony_ci node skp_data_prep 49cb93a386Sopenharmony_cifi 50