perf(js_run_devserver): run fs operations in parallel
See individual commits. Primarily changing async fs operations to be run in parallel instead of sequentially.
Changes are visible to end-users: no
Test plan
- Covered by existing test cases
- Manual testing; please provide instructions so we can reproduce:
Test
2 test targets passed
Targets
//js/private/test/js_run_devserver:js_run_devserver_test [k8-fastbuild] 392ms //js/private/test/js_run_devserver:node_modules_symlink_to_execroot_test [k8-fastbuild] 453ms
Total test execution time was 845ms. 201 tests (99.0%) were fully cached saving 32s.
Test
e2e/bzlmod
All tests were cache hits
5 tests (100.0%) were fully cached saving 857ms.
Test
e2e/gyp_no_install_script
All tests were cache hits
2 tests (100.0%) were fully cached saving 503ms.
Test
e2e/js_image_oci
All tests were cache hits
1 test (100.0%) was fully cached saving 7s.
Test
e2e/npm_link_package
All tests were cache hits
3 tests (100.0%) were fully cached saving 820ms.
Test
e2e/npm_link_package-esm
All tests were cache hits
3 tests (100.0%) were fully cached saving 1s.
Test
e2e/npm_translate_lock
All tests were cache hits
1 test (100.0%) was fully cached saving 34ms.
Test
e2e/npm_translate_lock_empty
All tests were cache hits
1 test (100.0%) was fully cached saving 34ms.
Test
e2e/npm_translate_lock_multi
All tests were cache hits
2 tests (100.0%) were fully cached saving 171ms.
Test
e2e/npm_translate_lock_partial_clone
All tests were cache hits
1 test (100.0%) was fully cached saving 129ms.
Test
e2e/npm_translate_lock_replace_packages
All tests were cache hits
3 tests (100.0%) were fully cached saving 503ms.
Test
e2e/npm_translate_lock_subdir_patch
All tests were cache hits
1 test (100.0%) was fully cached saving 222ms.
Test
e2e/npm_translate_package_lock
All tests were cache hits
1 test (100.0%) was fully cached saving 131ms.
Test
e2e/npm_translate_yarn_lock
All tests were cache hits
1 test (100.0%) was fully cached saving 131ms.
Test
e2e/package_json_module
All tests were cache hits
1 test (100.0%) was fully cached saving 590ms.
Test
e2e/pnpm_lockfiles
All tests were cache hits
40 tests (100.0%) were fully cached saving 3s.
Test
e2e/pnpm_workspace
All tests were cache hits
10 tests (100.0%) were fully cached saving 3s.
Test
e2e/pnpm_workspace_rerooted
All tests were cache hits
12 tests (100.0%) were fully cached saving 2s.
Test
e2e/repo_mapping
All tests were cache hits
2 tests (100.0%) were fully cached saving 474ms.
Test
e2e/rules_foo
All tests were cache hits
2 tests (100.0%) were fully cached saving 470ms.
Test
e2e/runfiles
All tests were cache hits
1 test (100.0%) was fully cached saving 443ms.
Test
e2e/vendored_node
All tests were cache hits
1 test (100.0%) was fully cached saving 199ms.
