rebeckerspecialties / benchmarking-test-app

React Native test app for exploring benchmarking in AWS Device Farms
3 stars 0 forks source link

Profile Hyperflux and IR ECS hot paths #30

Closed hmallen99 closed 2 months ago

hmallen99 commented 2 months ago

Resolves #28

Benchmark run: https://github.com/rebeckerspecialties/benchmarking-test-app/actions/runs/10604360013

Changes

React Native challenges

There were a couple of challenges that popped up when adding the @ir-engine/ecs and @ir-engine/hyperflux packages:

  1. We had to install react-native-get-random-values to fix random uuid creation
  2. We had to install node-cache and node-schedule to satisfy imports within the ir-engine modules
  3. We had to create a perf_hooks package with an empty index.js to satisfy dependency unrolling in the metro build of the dependencies. The error comes from here: https://github.com/ir-engine/ir-engine/blob/ac80c029ad943156c9f0ab914d7bc32680cad5e7/packages/ecs/src/Timer.ts#L28, where perf_hooks is baked into the bundle, even if it's not required.
DanielBelmes commented 2 months ago

Btw the node cache and node schedule deps should be not needed soon. Those were coming from our common package and we are removing the common package as a dep from the core engine and leaving that a backend package.