{"id":21391620,"url":"https://github.com/multiprocessio/react-transformer-benchmarks","last_synced_at":"2025-07-09T01:07:05.192Z","repository":{"id":103665280,"uuid":"427440378","full_name":"multiprocessio/react-transformer-benchmarks","owner":"multiprocessio","description":"Benchmarking esbuild, swc, typescript, babel","archived":false,"fork":false,"pushed_at":"2021-11-13T22:41:04.000Z","size":30,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-23T01:13:04.483Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","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/multiprocessio.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-12T17:17:25.000Z","updated_at":"2022-12-11T11:07:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"5fb3858f-ba93-44fc-b744-a614debe42aa","html_url":"https://github.com/multiprocessio/react-transformer-benchmarks","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/multiprocessio%2Freact-transformer-benchmarks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiprocessio%2Freact-transformer-benchmarks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiprocessio%2Freact-transformer-benchmarks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multiprocessio%2Freact-transformer-benchmarks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/multiprocessio","download_url":"https://codeload.github.com/multiprocessio/react-transformer-benchmarks/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243873635,"owners_count":20361688,"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-11-22T13:35:06.155Z","updated_at":"2025-03-16T13:25:23.068Z","avatar_url":"https://github.com/multiprocessio.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# React Transformer Benchmarks\n\nThis is a set of scripts that generates large fake React projects\nusing\n[react-benchmark-generator](https://github.com/multiprocessio/react-benchmark-generator)\nand runs transformers against these projects.\n\nRead the full blog post [here](https://datastation.multiprocess.io/blog/2021-11-13-benchmarking-esbuild-swc-typescript-babel.html).\n\n## Setup\n\nOnce you have this repo, run:\n\n```bash\n$ yarn\n$ ./prepare.sh\n```\n\nprepare.sh will create 5 sample projects in a `tests` directory in 3\nsizes: small, medium and large. They are basic projects that just\nrender JSX with builtin and custom components.\n\nThis script will take a while!\n\n## Run\n\nOnce you have generated all tests you can run all benchmarks:\n\n```bash\n$ ./run.sh\n```\n\nThis will dump a CSV to output.\n\n## Analysis\n\nIf you redirect the run script output to a file you can easily analyze\nit with SQLite.\n\n```bash\n$ ./run.sh | tee results.csv\n$ sqlite3\nsqlite\u003e .mode csv\nsqlite\u003e .import results.csv results\nsqlite\u003e ^D\n```\n\nThen you can run queries:\n\n```csv\n$ sqlite3 bench.db 'SELECT name, size, AVG(time) FROM results GROUP BY name, size ORDER BY size DESC, AVG(time) ASC'\nesbuild,small,0.33284\nswc,small,0.38476\nbabel,small,1.44288\ntypescript,small,2.32456\nesbuild,medium,0.80556\nswc,medium,0.97588\ntypescript,medium,8.2286\nbabel,medium,12.8434\nesbuild,large,3.06556\nswc,large,3.8216\ntypescript,large,37.28584\nbabel,large,70.57572\n```\n\n## Debugging\n\nOutput for all runs is redirected to `./runlog` in the root of this\nrepo. You can `tail -f ./runlog` to follow all tests as they are run\nand see error output if something fails.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmultiprocessio%2Freact-transformer-benchmarks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmultiprocessio%2Freact-transformer-benchmarks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmultiprocessio%2Freact-transformer-benchmarks/lists"}