Skip to content

Conversation

samtstern
Copy link
Contributor

@samtstern samtstern commented May 25, 2021

This makes the samples significantly smaller and makes our CI run faster.

Size differences

Here are the sizes after running the bootstrap script:

  • With lerna: 4.5GB
  • With pnpm:
    • 491MB in functions-samples
    • 415MB in ~/.pnpm-store

Speed differences

Overall

  • Bootstrap phase goes down from 4m to ~15s
  • Compile phase goes up from ~1.5m to ~3m

With lerna our CI tests take ~7m, with ~4m in the bootstrap phase (link):

Screen Shot 2021-05-25 at 10 39 55 AM

With pnpm with no concurrency our CI tests take ~4m with ~0.5m in the bootstrap phase (link):

Screen Shot 2021-05-25 at 10 42 34 AM

With pnpm with concurrency set to 8 (same as Lerna) our CI tests take 3.5m (link):

Screen Shot 2021-05-25 at 10 49 36 AM

With pnpm with concurrency set to 4 our CI tests take 4.25m (link):

Screen Shot 2021-05-25 at 10 57 03 AM

@google-cla google-cla bot added the cla: yes label May 25, 2021
@samtstern samtstern requested a review from jhuleatt May 25, 2021 09:36
},
"devDependencies": {
"eslint": "^6.8.0",
"eslint-plugin-promise": "^4.2.1",
"lerna": "^3.20.2",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this mean Lerna isn't needed at all any more? If so, want to remove lerna.json as well?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops yep!

Copy link
Collaborator

@jhuleatt jhuleatt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow that's a huge speed boost, thanks Sam! Left a couple of comments, but overall LGTM

Co-authored-by: Jeff <jhuleatt@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants