Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat benchmarks #4615

Draft
wants to merge 22 commits into
base: main
Choose a base branch
from
Draft

Feat benchmarks #4615

wants to merge 22 commits into from

Conversation

abnegate
Copy link
Contributor

@abnegate abnegate commented Nov 1, 2022

What does this PR do?

Added benchmarks

  • Databases
    • Create document
    • Read document list (1, 10, 100 documents)
    • Read document
    • Update document
  • Storage
    • Create file
    • Read file list (1, 10, 100 files)
    • Read file
    • Update file
  • Functions
    • Build deployment
    • Create execution
  • Users
    • Create user
    • Read users (1, 10, 100 users)
    • Read user
    • Update user

Integration with CI

  • Master branch has a baseline benchmark
  • Pull requests will run a benchmark against the baseline
  • Pushes to master (merge commits) will:
    • Run a benchmark
    • Set the results as the new baseline
    • Commit and push the baseline changes (using secret token)

Local development

  • Can be run manually with composer benchmark
  • Baseline can be set manually with composer benchmark-tag
  • Baseline can be compared manually with composer benchmark-compare

  • Merges lint, test and benchmark into a single workflow job so the next stage only runs if the previous completes successfully.

Test Plan

Workflow tests on this PR

Related PRs and Issues

N/A

Have you added your change to the Changelog?

N/A

Have you read the Contributing Guidelines on issues?

Yes

Comment on lines +101 to +105
"symfony/console": "^5.0",
"symfony/filesystem": "^5.0",
"symfony/finder": "^5.0",
"symfony/options-resolver": "^5.0",
"symfony/process": "^5.0"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is because phpbench has a transitive dependency on these as version ^4 || ^5 || ^6, and picks v6 by default which requires PHP 8.1, so causes runtime errors as our docker image is PHP 8.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant