diff --git a/.github/workflows/ci-benchmarks.yml b/.github/workflows/ci-benchmarks.yml index 1d9477ee9f0..bbc8a34584f 100644 --- a/.github/workflows/ci-benchmarks.yml +++ b/.github/workflows/ci-benchmarks.yml @@ -1,15 +1,6 @@ name: Fast Element benchmark jobs -on: - pull_request: - branches: - - master - - releases/* - - features/* - - users/* - push: - paths: - - 'packages/web-components/fast-element/**' +on: [pull_request] jobs: setup: @@ -43,61 +34,22 @@ jobs: - name: Prepare workspaces run: yarn prepare - test: - name: Run all operations for test benchmark - needs: [setup] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 + - uses: actions/upload-artifact@v3 with: - node-version: "16.x" - - run: yarn install --frozen-lockfile --ignore-scripts --prefer-offline - - name: Run tachometer - run: | - cd packages/utilities/fast-benchmarks - yarn install - yarn run benchmark:fast-element:test - - - name: Upload results - uses: actions/upload-artifact@v2 + name: Upload results folder + path: packages/utilities/fast-benchmarks/results/fast-element_test-update10th.json + - name: Report Tachometer Result + uses: andrewiggins/tachometer-reporter-action@v2 with: - name: results - path: packages/utilities/fast-benchmarks/results/fast-element_test.json - - # update10th: - # name: Run update 10th element benchmark - # needs: [setup] - # runs-on: ubuntu-latest - # steps: - # - uses: actions/checkout@v2 - # - uses: actions/setup-node@v1 - # with: - # node-version: "16.x" - # - name: Run tachometer and generate results file - # run: | - # cd packages/utilities/fast-benchmarks - # yarn install - # yarn run benchmark:fast-element:update10th - - # - name: Upload results - # uses: actions/upload-artifact@v2 - # with: - # name: results - # path: packages/utilities/fast-benchmarks/results/fast-element_test-update10th.json + report-id: results + path: packages/utilities/fast-benchmarks/results/fast-element_test-update10th.json - report_results: - name: Report Results - needs: [test, update10th] - runs-on: ubuntu-latest - steps: - - uses: actions/download-artifact@v2 + - uses: actions/upload-artifact@v3 with: - name: results - path: packages/utilities/fast-benchmarks/results - # Read all the results and post comment + name: Upload results folder + path: packages/utilities/fast-benchmarks/results/fast-element_localTest-create10k.json - name: Report Tachometer Result uses: andrewiggins/tachometer-reporter-action@v2 with: - name: results - path: packages/utilities/fast-benchmarks/results/*.json + report-id: results-create-local + path: packages/utilities/fast-benchmarks/results/fast-element_localTest-create10k.json diff --git a/package.json b/package.json index 4fa881d9cd3..a5455a06592 100644 --- a/package.json +++ b/package.json @@ -1,171 +1,171 @@ { - "name": "@microsoft/fast", - "description": "An unopinionated system of components, development tools, and utilities used à la carte or as a suite to build enterprise-grade websites and applications.", - "version": "1.8.0", - "author": { - "name": "Microsoft", - "url": "https://discord.gg/FcSNfg4" - }, - "license": "MIT", - "private": true, - "workspaces": { - "packages": [ - "packages/**/*", - "sites/fast-color-explorer", - "sites/fast-component-explorer", - "sites/site-utilities", - "sites/fast-website", - "sites/website", - "examples/design-system-tutorial" - ], - "nohoist": [ - "**/@types/chai", - "**/@types/jest", - "**/@types/karma", - "**/@types/mocha", - "**/@types/node", - "**/chai", - "**/html-minifier-terser", - "**/react-syntax-highlighter" - ] - }, - "engines": { - "yarn": ">=1.13 <2" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/Microsoft/fast.git" - }, - "bugs": { - "url": "https://github.com/Microsoft/fast/issues/new/choose" - }, - "scripts": { - "bump": "beachball bump", - "change": "beachball change", - "checkchange": "beachball check --scope \"!sites/*\" --changehint \"Run 'yarn change' to generate a change file\"", - "check": "beachball check ", - "publish": "beachball publish", - "publish-ci": "beachball publish -y --access public", - "integration-tests:alpha": "node build/testing/sauce-labs/test-browsers.js alpha", - "integration-tests:beta": "node build/testing/sauce-labs/test-browsers.js beta", - "integration-tests:release": "node build/testing/sauce-labs/test-browsers.js release", - "prepare": "lerna run prepare", - "test:diff:error": "echo \"Untracked files exist, try running yarn prepare to identify the culprit.\" && exit 1", - "test:diff": "git update-index --refresh && git diff-index --quiet HEAD -- || yarn test:diff:error", - "test:validation": "yarn test:diff", - "test": "yarn eslint \"/**/*.{ts}\" ", - "unit-tests": "jest --maxWorkers=4", - "coverage": "yarn jest --coverage", - "unit-tests:watch": "jest --watch", - "watch": "tsc -p ./tsconfig.json -w --preserveWatchOutput", - "format:check": "lerna run prettier:diff", - "format": "lerna run prettier" - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged" - } - }, - "jest": { - "collectCoverage": true, - "collectCoverageFrom": [ - "build/helpers/*.ts" - ], - "coverageReporters": [ - "json", - [ - "lcov", - { - "projectRoot": "." + "name": "@microsoft/fast", + "description": "An unopinionated system of components, development tools, and utilities used à la carte or as a suite to build enterprise-grade websites and applications.", + "version": "1.8.0", + "author": { + "name": "Microsoft", + "url": "https://discord.gg/FcSNfg4" + }, + "license": "MIT", + "private": true, + "workspaces": { + "packages": [ + "packages/**/*", + "sites/fast-color-explorer", + "sites/fast-component-explorer", + "sites/site-utilities", + "sites/fast-website", + "sites/website", + "examples/design-system-tutorial" + ], + "nohoist": [ + "**/@types/chai", + "**/@types/jest", + "**/@types/karma", + "**/@types/mocha", + "**/@types/node", + "**/chai", + "**/html-minifier-terser", + "**/react-syntax-highlighter" + ] + }, + "engines": { + "yarn": ">=1.13 <2" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Microsoft/fast.git" + }, + "bugs": { + "url": "https://github.com/Microsoft/fast/issues/new/choose" + }, + "scripts": { + "bump": "beachball bump", + "change": "beachball change", + "checkchange": "beachball check --scope \"!sites/*\" --changehint \"Run 'yarn change' to generate a change file\"", + "check": "beachball check ", + "publish": "beachball publish", + "publish-ci": "beachball publish -y --access public", + "integration-tests:alpha": "node build/testing/sauce-labs/test-browsers.js alpha", + "integration-tests:beta": "node build/testing/sauce-labs/test-browsers.js beta", + "integration-tests:release": "node build/testing/sauce-labs/test-browsers.js release", + "prepare": "lerna run prepare", + "test:diff:error": "echo \"Untracked files exist, try running yarn prepare to identify the culprit.\" && exit 1", + "test:diff": "git update-index --refresh && git diff-index --quiet HEAD -- || yarn test:diff:error", + "test:validation": "yarn test:diff", + "test": "yarn eslint \"/**/*.{ts}\" ", + "unit-tests": "jest --maxWorkers=4", + "coverage": "yarn jest --coverage", + "unit-tests:watch": "jest --watch", + "watch": "tsc -p ./tsconfig.json -w --preserveWatchOutput", + "format:check": "lerna run prettier:diff", + "format": "lerna run prettier" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" } - ] - ], - "coverageThreshold": { - "global": { - "statements": 100, - "branches": 100, - "functions": 100, - "lines": 100 - } }, - "testURL": "http://localhost", - "transform": { - "^.+\\.ts?$": "ts-jest", - "^.+\\.js?$": "babel-jest" + "jest": { + "collectCoverage": true, + "collectCoverageFrom": [ + "build/helpers/*.ts" + ], + "coverageReporters": [ + "json", + [ + "lcov", + { + "projectRoot": "." + } + ] + ], + "coverageThreshold": { + "global": { + "statements": 100, + "branches": 100, + "functions": 100, + "lines": 100 + } + }, + "testURL": "http://localhost", + "transform": { + "^.+\\.ts?$": "ts-jest", + "^.+\\.js?$": "babel-jest" + }, + "transformIgnorePatterns": [ + "!/node_modules/lodash-es", + "node_modules/jss-*", + "node_modules/css-vendor" + ], + "testPathIgnorePatterns": [ + "packages/", + "build/helpers/__tests__/*", + "build/helpers/" + ], + "testRegex": "/__tests__/.*\\.(test|spec)\\.(js|ts|tsx)$", + "moduleFileExtensions": [ + "ts", + "js" + ] + }, + "lint-staged": { + "*.{ts,tsx,js,html}": [ + "prettier --write" + ] + }, + "resolutions": { + "@types/react": "*", + "browserslist": "^4.16.5", + "clean-css": "^4.2.3", + "css-select": "^4.2.1", + "dns-packet": "^1.3.4", + "favicons/colors": "1.4.0", + "glob-parent": "^5.1.2", + "immer": "^9.0.6", + "is-svg": "^4.2.2", + "jimp": "^0.16.1", + "jpeg-js": "^0.4.3", + "js-yaml": "^3.13.1", + "karma/colors": "1.4.0", + "lodash": "^4.17.21", + "nanoid": "^3.1.31", + "node-notifier": "^9.0.0", + "trim-newlines": "^4.0.2", + "trim": "^0.0.3", + "typescript": "^3.9.0", + "ua-parser-js": "^0.7.28", + "ws": "^7.4.6", + "xmlhttprequest-ssl": "^1.6.2" }, - "transformIgnorePatterns": [ - "!/node_modules/lodash-es", - "node_modules/jss-*", - "node_modules/css-vendor" - ], - "testPathIgnorePatterns": [ - "packages/", - "build/helpers/__tests__/*", - "build/helpers/" - ], - "testRegex": "/__tests__/.*\\.(test|spec)\\.(js|ts|tsx)$", - "moduleFileExtensions": [ - "ts", - "js" - ] - }, - "lint-staged": { - "*.{ts,tsx,js,html}": [ - "prettier --write" - ] - }, - "resolutions": { - "@types/react": "*", - "browserslist": "^4.16.5", - "clean-css": "^4.2.3", - "css-select": "^4.2.1", - "dns-packet": "^1.3.4", - "favicons/colors": "1.4.0", - "glob-parent": "^5.1.2", - "immer": "^9.0.6", - "is-svg": "^4.2.2", - "jimp": "^0.16.1", - "jpeg-js": "^0.4.3", - "js-yaml": "^3.13.1", - "karma/colors": "1.4.0", - "lodash": "^4.17.21", - "nanoid": "^3.1.31", - "node-notifier": "^9.0.0", - "trim-newlines": "^4.0.2", - "trim": "^0.0.3", - "typescript": "^3.9.0", - "ua-parser-js": "^0.7.28", - "ws": "^7.4.6", - "xmlhttprequest-ssl": "^1.6.2" - }, - "devDependencies": { - "@babel/core": "^7.12.13", - "@babel/preset-env": "^7.12.13", - "@octokit/rest": "^18.0.6", - "@types/jest": "^25.2.1", - "@types/lodash-es": "^4.17.4", - "@types/node": "^15.0.1", - "beachball": "^1.53.1", - "chalk": "^2.4.2", - "copyfiles": "^2.4.1", - "docusaurus-init": "^1.11.0", - "dotenv": "^6.0.0", - "eyes.selenium": "3.6.2", - "glob": "^7.1.2", - "husky": "^4.2.5", - "jest": "^25.4.0", - "lerna": "^3.20.2", - "lint-staged": "^10.1.2", - "markdown-it": "^12.3.2", - "prettier": "2.0.2", - "rimraf": "^3.0.2", - "ts-jest": "^25.4.0", - "ts-node": "^8.8.2", - "typescript": "^3.9.0", - "yargs": "^16.2.0" - }, - "dependencies": { - "saucelabs": "^1.5.0", - "selenium-webdriver": "^3.6.0" - } + "devDependencies": { + "@babel/core": "^7.12.13", + "@babel/preset-env": "^7.12.13", + "@octokit/rest": "^18.0.6", + "@types/jest": "^25.2.1", + "@types/lodash-es": "^4.17.4", + "@types/node": "^15.0.1", + "beachball": "^1.53.1", + "chalk": "^2.4.2", + "copyfiles": "^2.4.1", + "docusaurus-init": "^1.11.0", + "dotenv": "^6.0.0", + "eyes.selenium": "3.6.2", + "glob": "^7.1.2", + "husky": "^4.2.5", + "jest": "^25.4.0", + "lerna": "^3.20.2", + "lint-staged": "^10.1.2", + "markdown-it": "^12.3.2", + "prettier": "2.0.2", + "rimraf": "^3.0.2", + "ts-jest": "^25.4.0", + "ts-node": "^8.8.2", + "typescript": "^3.9.0", + "yargs": "^16.2.0" + }, + "dependencies": { + "saucelabs": "^1.5.0", + "selenium-webdriver": "^3.6.0" + } } diff --git a/packages/utilities/fast-benchmarks/benchmarks/fast-element/localTest/index.ts b/packages/utilities/fast-benchmarks/benchmarks/fast-element/localTest/index.ts new file mode 100644 index 00000000000..fe252cb59f1 --- /dev/null +++ b/packages/utilities/fast-benchmarks/benchmarks/fast-element/localTest/index.ts @@ -0,0 +1,47 @@ +import { + attr, + css, + customElement, + FASTElement, + html, + observable, + repeat, +} from "@microsoft/fast-element"; +import { data, RandomItem } from "../../../utils/index.js"; + +@customElement({ + name: "x-item", + template: html` +
+ ${(x: XItem) => x.value} +
+ `, + styles: css` + .item { + display: flex; + } + `, +}) +class XItem extends FASTElement { + @attr value: string | undefined; + onClick(e: MouseEvent) { + console.log(e.type); + } +} + +@customElement({ + name: "x-app", + template: html` +
+ ${repeat( + x => x.items, + html` + + ` + )} +
+ `, +}) +class XApp extends FASTElement { + @observable items: RandomItem[] = data; +} diff --git a/packages/utilities/fast-benchmarks/benchmarks/fast-element/test/index2.ts b/packages/utilities/fast-benchmarks/benchmarks/fast-element/test/index2.ts deleted file mode 100644 index ed715e3eec1..00000000000 --- a/packages/utilities/fast-benchmarks/benchmarks/fast-element/test/index2.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { - attr, - bind, - css, - customElement, - FASTElement, - html, - oneTime, - repeat, -} from "@microsoft/fast-element"; -import { data, RandomItem } from "../../../utils/index.js"; - -const xItemTemplate = html` -
- ${x => x.value} -
-`; - -const styles = css` - .item { - display: flex; - } -`; -@customElement({ - name: "x-item", - template: xItemTemplate, - styles, -}) -class XItem extends FASTElement { - @attr value: string | undefined; - - onClick(e: MouseEvent) { - console.log(e.type); - } -} - -const xAppTemplate = html` -
- ${repeat( - x => x.items, - html` - - ` - )} -
-`; -@customElement({ - name: "x-app", - template: xAppTemplate, -}) -class XApp extends FASTElement { - items: RandomItem[] = data; -} diff --git a/packages/utilities/fast-benchmarks/package.json b/packages/utilities/fast-benchmarks/package.json index d72effeeaf9..16fd01cef37 100644 --- a/packages/utilities/fast-benchmarks/package.json +++ b/packages/utilities/fast-benchmarks/package.json @@ -7,9 +7,10 @@ "build": "tsc && tsc --build", "benchmark": "node scripts/index.js", "help": "node ./scripts/index.js --help", - "benchmark:binding": "tach --config examples/fast-element/binding/tachometer.json", + "benchmarks": "yarn run benchmark --library=fast-element --benchmark=test --versions 1.6.0 1.10.1 --operations=update10th", "debug:binding": "tach --config fast-element/binding/tachometer.json --manual", - "benchmark:fast-element:test": "yarn run benchmark --library=fast-element --benchmark=test --versions local latest --localBenchFile=index2" + "benchmark:fast-element:test": "yarn run benchmark --library=fast-element --benchmark=test --versions 1.6.0 1.10.1 --operations=update10th", + "benchmark:fast-element:test:local": "yarn run benchmark --library=fast-element --benchmark=localTest --versions local 1.10.1 --localBenchFile=index2 --operations=create10k" }, "author": "Microsoft", "license": "ISC", diff --git a/packages/utilities/fast-benchmarks/results/fast-element_localTest-create10k.json b/packages/utilities/fast-benchmarks/results/fast-element_localTest-create10k.json new file mode 100644 index 00000000000..5e4c597d146 --- /dev/null +++ b/packages/utilities/fast-benchmarks/results/fast-element_localTest-create10k.json @@ -0,0 +1,372 @@ +{ + "benchmarks": [ + { + "name": "localTest-create10k [create10k]", + "bytesSent": 124203, + "version": "local", + "measurement": { + "name": "create10k", + "mode": "performance", + "entryName": "create10k" + }, + "browser": { + "name": "chrome", + "headless": true, + "windowSize": { + "width": 1024, + "height": 768 + }, + "addArguments": [ + "--js-flags=--expose-gc", + "--enable-precise-memory-info" + ], + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/101.0.4951.64 Safari/537.36" + }, + "mean": { + "low": 686.0708454090732, + "high": 722.909154592119 + }, + "differences": [ + null, + { + "absolute": { + "low": 672.9369927290196, + "high": 709.7753753388391 + }, + "percentChange": { + "low": 5122.895744836445, + "high": 5404.984130876386 + } + }, + { + "absolute": { + "low": 1.203214651703064, + "high": 51.10345201257954 + }, + "percentChange": { + "low": 0.11218675271706044, + "high": 7.598831865984282 + } + }, + { + "absolute": { + "low": 672.0261584086642, + "high": 708.8644684591947 + }, + "percentChange": { + "low": 4784.906123405382, + "high": 5047.215229485703 + } + } + ], + "samples": [ + 850.6999999880791, + 803.4000000059605, + 753, + 694.0999999940395, + 766.2000000178814, + 759.4000000059605, + 743.2000000178814, + 807.7999999821186, + 690.1999999880791, + 660.2000000178814, + 683.5999999940395, + 674.2000000178814, + 686.9000000059605, + 688.6999999880791, + 671.4000000059605, + 668.8000000119209, + 668.5, + 703.9000000059605, + 724.0999999940395, + 685.5, + 661.4000000059605, + 682.1999999880791, + 687.4000000059605, + 670.5, + 666.5999999940395, + 690.5, + 674, + 676.0999999940395, + 665.5999999940395, + 676.5999999940395 + ] + }, + { + "name": "localTest-create10k [usedJSHeapSize]", + "bytesSent": 124203, + "version": "local", + "measurement": { + "name": "usedJSHeapSize", + "mode": "expression", + "expression": "window.usedJSHeapSize" + }, + "browser": { + "name": "chrome", + "headless": true, + "windowSize": { + "width": 1024, + "height": 768 + }, + "addArguments": [ + "--js-flags=--expose-gc", + "--enable-precise-memory-info" + ], + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/101.0.4951.64 Safari/537.36" + }, + "mean": { + "low": 13.09704015337759, + "high": 13.170591779955744 + }, + "differences": [ + { + "absolute": { + "low": -709.7753753388391, + "high": -672.9369927290196 + }, + "percentChange": { + "low": -98.18472032766155, + "high": -98.08667714663744 + } + }, + null, + { + "absolute": { + "low": -682.0327205397273, + "high": -648.3729808638489 + }, + "percentChange": { + "low": -98.11216285447465, + "high": -98.01547800233725 + } + }, + { + "absolute": { + "low": -0.9478630151298765, + "high": -0.8738781848701181 + }, + "percentChange": { + "low": -6.748715223005029, + "high": -6.222319704350866 + } + } + ], + "samples": [ + 13.118835, + 13.128293, + 13.107615, + 13.11414, + 13.112682, + 13.113882, + 13.110876, + 13.11583, + 13.14489, + 13.11321, + 13.090687, + 13.145216, + 13.117054, + 13.09704, + 13.129447, + 13.118197, + 13.13322, + 13.099888, + 13.132015, + 13.108301, + 13.113091, + 13.650585, + 13.120183, + 13.100044, + 13.11917, + 13.092217, + 13.111349, + 13.120223, + 13.111074, + 13.125225 + ] + }, + { + "name": "localTest-create10k [create10k]", + "bytesSent": 119454, + "version": "1.10.1", + "measurement": { + "name": "create10k", + "mode": "performance", + "entryName": "create10k" + }, + "browser": { + "name": "chrome", + "headless": true, + "windowSize": { + "width": 1024, + "height": 768 + }, + "addArguments": [ + "--js-flags=--expose-gc", + "--enable-precise-memory-info" + ], + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/101.0.4951.64 Safari/537.36" + }, + "mean": { + "low": 661.506837010923, + "high": 695.1664963259865 + }, + "differences": [ + { + "absolute": { + "low": -51.10345201257954, + "high": -1.203214651703064 + }, + "percentChange": { + "low": -7.182927149693794, + "high": -0.24182929315682902 + } + }, + { + "absolute": { + "low": 648.3729808638489, + "high": 682.0327205397273 + }, + "percentChange": { + "low": 4935.855500081641, + "high": 5193.764899504558 + } + }, + null, + { + "absolute": { + "low": 647.4621499695536, + "high": 681.1218102340226 + }, + "percentChange": { + "low": 4610.00706600888, + "high": 4849.683998630518 + } + } + ], + "samples": [ + 792.7000000178814, + 729.7000000178814, + 711.4000000059605, + 682.9000000059605, + 698.1000000238419, + 792.5, + 773.4000000059605, + 731.3000000119209, + 653.4000000059605, + 646.7999999821186, + 652.3000000119209, + 647, + 648.5, + 650.5999999940395, + 655.0999999940395, + 658, + 712.8000000119209, + 650.0999999940395, + 663.9000000059605, + 646.3000000119209, + 664.4000000059605, + 662.5, + 655, + 643.5999999940395, + 649.1999999880791, + 652.1999999880791, + 694.1999999880791, + 643.1999999880791, + 654.5, + 634.5 + ] + }, + { + "name": "localTest-create10k [usedJSHeapSize]", + "bytesSent": 119454, + "version": "1.10.1", + "measurement": { + "name": "usedJSHeapSize", + "mode": "expression", + "expression": "window.usedJSHeapSize" + }, + "browser": { + "name": "chrome", + "headless": true, + "windowSize": { + "width": 1024, + "height": 768 + }, + "addArguments": [ + "--js-flags=--expose-gc", + "--enable-precise-memory-info" + ], + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/101.0.4951.64 Safari/537.36" + }, + "mean": { + "low": 14.040689275825581, + "high": 14.048683857507747 + }, + "differences": [ + { + "absolute": { + "low": -708.8644684591947, + "high": -672.0261584086642 + }, + "percentChange": { + "low": -98.05853011025253, + "high": -97.95427729179582 + } + }, + { + "absolute": { + "low": 0.8738781848701181, + "high": 0.9478630151298765 + }, + "percentChange": { + "low": 6.634337228429958, + "high": 7.23627893235327 + } + }, + { + "absolute": { + "low": -681.1218102340226, + "high": -647.4621499695536 + }, + "percentChange": { + "low": -97.98091279877696, + "high": -97.87816802147563 + } + }, + null + ], + "samples": [ + 14.008827, + 14.037812, + 14.033684, + 14.031134, + 14.048527, + 14.055861, + 14.051452, + 14.032812, + 14.050182, + 14.048286, + 14.053466, + 14.049177, + 14.053242, + 14.050347, + 14.04946, + 14.053048, + 14.049671, + 14.048801, + 14.054006, + 14.054102, + 14.031999, + 14.033008, + 14.047551, + 14.049642, + 14.051624, + 14.051492, + 14.031452, + 14.047082, + 14.032027, + 14.050823 + ] + } + ] +} diff --git a/packages/utilities/fast-benchmarks/results/fast-element_test-update10th.json b/packages/utilities/fast-benchmarks/results/fast-element_test-update10th.json index e69de29bb2d..faa8774a6bc 100644 --- a/packages/utilities/fast-benchmarks/results/fast-element_test-update10th.json +++ b/packages/utilities/fast-benchmarks/results/fast-element_test-update10th.json @@ -0,0 +1,372 @@ +{ + "benchmarks": [ + { + "name": "test-update10th [update10th]", + "bytesSent": 117574, + "version": "1.6.0", + "measurement": { + "name": "update10th", + "mode": "performance", + "entryName": "update10th" + }, + "browser": { + "name": "chrome", + "headless": true, + "windowSize": { + "width": 1024, + "height": 768 + }, + "addArguments": [ + "--js-flags=--expose-gc", + "--enable-precise-memory-info" + ], + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/101.0.4951.64 Safari/537.36" + }, + "mean": { + "low": 418.5574936082805, + "high": 467.8758397210792 + }, + "differences": [ + null, + { + "absolute": { + "low": 404.5068586127215, + "high": 453.8252053833049 + }, + "percentChange": { + "low": 2878.920000977545, + "high": 3229.929060711528 + } + }, + { + "absolute": { + "low": -38.0130234418856, + "high": 36.393023443077716 + }, + "percentChange": { + "low": -8.552411740112492, + "high": 8.187568788003615 + } + }, + { + "absolute": { + "low": 404.4982083011005, + "high": 453.8165549615926 + }, + "percentChange": { + "low": 2877.087529446436, + "high": 3227.879837156517 + } + } + ], + "samples": [ + 393.5, + 402.69999998807907, + 402.7000000178814, + 394.09999999403954, + 408.40000000596046, + 395.09999999403954, + 400.7000000178814, + 538.6999999880791, + 404, + 392.59999999403954, + 438.80000001192093, + 464.2000000178814, + 508.19999998807907, + 434.59999999403954, + 426.2999999821186, + 395.89999997615814, + 426, + 551.7000000178814, + 455.80000001192093, + 455, + 550.5, + 432.7999999821186, + 612.0999999940395, + 405.5, + 411.59999999403954, + 392.19999998807907, + 401, + 393.5, + 612, + 396.2999999821186 + ] + }, + { + "name": "test-update10th [usedJSHeapSize]", + "bytesSent": 117574, + "version": "1.6.0", + "measurement": { + "name": "usedJSHeapSize", + "mode": "expression", + "expression": "window.usedJSHeapSize" + }, + "browser": { + "name": "chrome", + "headless": true, + "windowSize": { + "width": 1024, + "height": 768 + }, + "addArguments": [ + "--js-flags=--expose-gc", + "--enable-precise-memory-info" + ], + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/101.0.4951.64 Safari/537.36" + }, + "mean": { + "low": 14.046607207674546, + "high": 14.054662125658789 + }, + "differences": [ + { + "absolute": { + "low": -453.8252053833049, + "high": -404.5068586127215 + }, + "percentChange": { + "low": -97.00622913543458, + "high": -96.65347018390675 + } + }, + null, + { + "absolute": { + "low": -457.8326318196642, + "high": -402.11943217517006 + }, + "percentChange": { + "low": -97.03415553009407, + "high": -96.63710985933523 + } + }, + { + "absolute": { + "low": -0.014102530828603747, + "high": -0.003198202504725076 + }, + "percentChange": { + "low": -0.10029675715130996, + "high": -0.022758812831874104 + } + } + ], + "samples": [ + 14.054687, + 14.066721, + 14.061316, + 14.037834, + 14.038739, + 14.043633, + 14.060127, + 14.039792, + 14.059118, + 14.039964, + 14.054077, + 14.060214, + 14.043143, + 14.05679, + 14.042428, + 14.061754, + 14.034361, + 14.045844, + 14.043341, + 14.026835, + 14.037937, + 14.059991, + 14.058622, + 14.055476, + 14.066783, + 14.053226, + 14.049112, + 14.068376, + 14.0523, + 14.046499 + ] + }, + { + "name": "test-update10th [update10th]", + "bytesSent": 119552, + "version": "1.10.1", + "measurement": { + "name": "update10th", + "mode": "performance", + "entryName": "update10th" + }, + "browser": { + "name": "chrome", + "headless": true, + "windowSize": { + "width": 1024, + "height": 768 + }, + "addArguments": [ + "--js-flags=--expose-gc", + "--enable-precise-memory-info" + ], + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/101.0.4951.64 Safari/537.36" + }, + "mean": { + "low": 416.17006713297826, + "high": 471.8832661951893 + }, + "differences": [ + { + "absolute": { + "low": -36.393023443077716, + "high": 38.0130234418856 + }, + "percentChange": { + "low": -8.217856487110584, + "high": 8.58336620744642 + } + }, + { + "absolute": { + "low": 402.11943217517006, + "high": 457.8326318196642 + }, + "percentChange": { + "low": 2861.928669063402, + "high": 3258.4501209065666 + } + }, + null, + { + "absolute": { + "low": 402.1107818572308, + "high": 457.82398140427017 + }, + "percentChange": { + "low": 2860.106608202675, + "high": 3256.383392694746 + } + } + ], + "samples": [ + 398, + 387.09999999403954, + 390.09999999403954, + 387.5, + 389.40000000596046, + 393.5, + 477.59999999403954, + 454.09999999403954, + 411.69999998807907, + 398.5, + 471.59999999403954, + 406.59999999403954, + 444.69999998807907, + 453.40000000596046, + 470.19999998807907, + 437.60000002384186, + 742.4000000059605, + 490, + 449.90000000596046, + 597.5999999940395, + 498, + 527.1999999880791, + 398.19999998807907, + 398.59999999403954, + 424.09999999403954, + 397.09999999403954, + 401.59999999403954, + 413.59999999403954, + 402.40000000596046, + 408.5 + ] + }, + { + "name": "test-update10th [usedJSHeapSize]", + "bytesSent": 119552, + "version": "1.10.1", + "measurement": { + "name": "usedJSHeapSize", + "mode": "expression", + "expression": "window.usedJSHeapSize" + }, + "browser": { + "name": "chrome", + "headless": true, + "windowSize": { + "width": 1024, + "height": 768 + }, + "addArguments": [ + "--js-flags=--expose-gc", + "--enable-precise-memory-info" + ], + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/101.0.4951.64 Safari/537.36" + }, + "mean": { + "low": 14.055610027467281, + "high": 14.062960039199382 + }, + "differences": [ + { + "absolute": { + "low": -453.8165549615926, + "high": -404.4982083011005 + }, + "percentChange": { + "low": -97.0043856060924, + "high": -96.65141026497308 + } + }, + { + "absolute": { + "low": 0.003198202504725076, + "high": 0.014102530828603747 + }, + "percentChange": { + "low": 0.02274894137609521, + "high": 0.10038238858704586 + } + }, + { + "absolute": { + "low": -457.82398140427017, + "high": -402.1107818572308 + }, + "percentChange": { + "low": -97.03232923909158, + "high": -96.63503982278979 + } + }, + null + ], + "samples": [ + 14.067407, + 14.068533, + 14.064939, + 14.072032, + 14.052961, + 14.041445, + 14.048059, + 14.069951, + 14.059963, + 14.060732, + 14.061753, + 14.0451, + 14.039854, + 14.044865, + 14.058013, + 14.063448, + 14.068704, + 14.047315, + 14.069702, + 14.047309, + 14.061824, + 14.06535, + 14.05915, + 14.045282, + 14.065971, + 14.070905, + 14.06687, + 14.062969, + 14.060151, + 14.067994 + ] + } + ] +} diff --git a/packages/utilities/fast-benchmarks/scripts/index.js b/packages/utilities/fast-benchmarks/scripts/index.js index 3a514fc6790..2ffa78fa66b 100644 --- a/packages/utilities/fast-benchmarks/scripts/index.js +++ b/packages/utilities/fast-benchmarks/scripts/index.js @@ -78,6 +78,8 @@ async function runBenchmark(configPaths, pathNames) { for (let i = 0; i < configPaths.length; i++) { const configPath = configPaths[i]; const pathName = pathNames[i]; + + console.log("path name", pathName); const res = new Promise((resolve, reject) => { const args = [ "tach", @@ -89,7 +91,7 @@ async function runBenchmark(configPaths, pathNames) { child.on("close", code => { if (code !== 0) { reject({ - command: `npx tach --config ${configPath} --json-file=results/${options.benchmark}/${pathName}.json`, + command: `npx tach --config ${configPath} --json-file=results/${pathName}.json`, }); return; } diff --git a/yarn.lock b/yarn.lock index bb3c067d7fa..efc4ba67179 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3633,8 +3633,10 @@ "@microsoft/fast-jss-utilities" "^4.8.0" "@microsoft/fast-web-utilities" "^4.6.0" -"@microsoft/fast-element@file:packages/web-components/fast-element": - version "1.9.0" +"@microsoft/fast-element@1.10.1": + version "1.10.1" + resolved "https://registry.yarnpkg.com/@microsoft/fast-element/-/fast-element-1.10.1.tgz#2ca442a4a8d15f3fd796795a370e3a1bc9bd2738" + integrity sha512-cq+vBBa8JCuAhsFEwHM9386YolYu9pNb1sBodp69RqWuaU56ElC60dC3aQWuOKqAMNoQqtCHPh0RQTvVBegSyw== "@microsoft/fast-jss-manager-react@^4.8.0": version "4.8.0"