{"id":13804998,"url":"https://github.com/krisselden/ember-macro-benchmark","last_synced_at":"2025-04-23T14:03:10.420Z","repository":{"id":19945627,"uuid":"87291967","full_name":"krisselden/ember-macro-benchmark","owner":"krisselden","description":"Benchmark recording of an ember app with running with 2 versions of Ember.","archived":false,"fork":false,"pushed_at":"2021-05-29T04:32:33.000Z","size":2451,"stargazers_count":25,"open_issues_count":8,"forks_count":9,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-04-13T17:14:51.080Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/krisselden.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-04-05T09:33:53.000Z","updated_at":"2021-06-26T09:05:55.000Z","dependencies_parsed_at":"2022-08-07T09:15:45.686Z","dependency_job_id":null,"html_url":"https://github.com/krisselden/ember-macro-benchmark","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krisselden%2Fember-macro-benchmark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krisselden%2Fember-macro-benchmark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krisselden%2Fember-macro-benchmark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krisselden%2Fember-macro-benchmark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krisselden","download_url":"https://codeload.github.com/krisselden/ember-macro-benchmark/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250447202,"owners_count":21432160,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T01:00:56.139Z","updated_at":"2025-04-23T14:03:10.404Z","avatar_url":"https://github.com/krisselden.png","language":"TypeScript","funding_links":[],"categories":["Packages"],"sub_categories":["Benchmarking"],"readme":"# ember-macro-bench\n\nA tool for measuring changes in Ember to applications.\n\nThis uses [chrome-tracing](https://github.com/krisselden/chrome-tracing) and [har-remix](https://github.com/krisselden/har-remix) to measure the effects of small changes to Ember on applications.\n\nThis is also a demonstration of using these tools to measure applications.\n\n## Setup\n### Prerequisites\n\nThese instructions assume Mac and using homebrew.\n\nInstall R\n```sh\nbrew tap homebrew/science\nbrew install r\n```\n\nRun R\n```sh\nR\n```\n\nThen install R packages:\n\n```R\ninstall.packages(\"jsonlite\")\ninstall.packages(\"R6\")\ninstall.packages(\"ggplot2\")\nq()\n```\n\nInstall yarn\n```sh\nbrew install yarn\n```\n\n### Install\n\n```sh\ngit clone git@github.com:krisselden/ember-macro-benchmark.git\ncd ember-macro-benchmark\nyarn\n```\n\n### Run the Server\n\nEdit the `config.json`\n\n* `har`: The emberaddons.com HAR file, the example is a recording of\n  emberaddons.com built with Ember 2.13.0-beta.1\n* `runCount`: Number of benchmarks to run\n* `cpuThrottleRate`: Throttling rate as a slowdown factor (1 is no throttle, 2 is 2x slowdown, etc).\n* `networkCondition`: Configurations for combinations of latency/downloadThroughput/uploadThroughput.  Presets are taken from [addyosmani/network-emulation-conditions](https://github.com/addyosmani/network-emulation-conditions)\n  * Available options: `GPRS`, `REGULAR_2G`, `GOOD_2G`, `REGULAR_3G`, `GOOD_3G`, `REGULAR_4G`, `DSL`, `WIFI`.\n* `servers`\n  * `name`: Name of the server\n  * `port`: Port for the server to run on\n  * `dist`: path to full emberaddons.com build. Use this when testing ember\n    versions that require wire format changes. Note that you *must* use an\n    unfingerprinted production build.\n  * `ember`: path to an ember dist to splice into the vendor.js, the example\n    results were tested against Ember commit 2c45a3b.\n\nCaveat: the templates are in the recorded app, you can only test with an Ember with compatible template wire-format as the recording unless you add a `dist` to the server\n\n```sh\nyarn run serve\n```\n\n### Run the Benchmark\n\nWhile the app is being served, run:\n\n```sh\nyarn run bench\n```\n\n### Generate the Report\n\nTo generate the report run:\n\n`yarn run plot`\n\nWhich will generate a PDF in the `results` folder with the reports from Chrome Tracing.  It contains several graphs and plots for. Here are a few resources to help you read them:\n\n* [Wilcoxon rank-sum test](https://en.wikipedia.org/wiki/Mann%E2%80%93Whitney_U_test)\n* [Null Hypothesis](https://en.wikipedia.org/wiki/Null_hypothesis)\n\n\nIf you'd like to see a smaller summary in your CLI you can run:\n\n`yarn run report`\n\nWhich will give you an abbreviated report.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrisselden%2Fember-macro-benchmark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrisselden%2Fember-macro-benchmark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrisselden%2Fember-macro-benchmark/lists"}