Skip to content

Add benchmark suite with GitHub Actions workflow#40

Merged
adelrodriguez merged 1 commit intomainfrom
03-07-add_benchmark_suite_with_github_actions_workflow
Mar 8, 2026
Merged

Add benchmark suite with GitHub Actions workflow#40
adelrodriguez merged 1 commit intomainfrom
03-07-add_benchmark_suite_with_github_actions_workflow

Conversation

@adelrodriguez
Copy link
Copy Markdown
Owner

This pull request adds a comprehensive benchmark suite for the tryharder package using the mitata benchmarking library.

Key Features

  • GitHub Actions workflow that runs benchmarks weekly on Mondays and supports manual triggers
  • Three benchmark suites covering core functionality, orchestration patterns, and policy behaviors
  • Structured reporting that generates JSON artifacts and markdown summaries with performance metrics
  • Deterministic benchmarks that import from the built dist package and avoid timer-based operations

Benchmark Coverage

The suite includes benchmarks for:

  • Core runSync and run operations with success and error scenarios
  • Orchestration methods like all, allSettled, and flow with various task dependencies
  • Policy builders including retry, timeout, signal, and wrap functionality
  • Baseline comparisons against direct function calls and native Promise operations

Infrastructure

  • Benchmarks run on Bun 1.3.1 with dependency caching and 20-minute timeout
  • Results are uploaded as GitHub artifacts and displayed in workflow summaries
  • Output includes performance metrics (avg ns/iter, Hz, sample counts) organized by functional groups
  • Comprehensive test coverage for the reporting and normalization logic

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 8, 2026

Warning

Rate limit exceeded

@adelrodriguez has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 20 minutes and 50 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 7a6f8b18-aaa1-42f1-9d44-a2db81640826

📥 Commits

Reviewing files that changed from the base of the PR and between 0bfe1ed and bde9032.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (14)
  • .github/workflows/benchmarks.yml
  • .gitignore
  • bench/README.md
  • bench/__tests__/report.test.ts
  • bench/constants.ts
  • bench/index.ts
  • bench/report.ts
  • bench/shared.ts
  • bench/suites/core.bench.ts
  • bench/suites/orchestration.bench.ts
  • bench/suites/policies.bench.ts
  • knip.json
  • package.json
  • tsconfig.json

Walkthrough

This pull request introduces a comprehensive benchmarking infrastructure for the project. It adds a GitHub Actions workflow that executes benchmarks weekly and on-demand, capturing results as artifacts. The implementation includes a shared benchmarking framework using mitata, three benchmark suites covering core operations, orchestration tasks, and policies, reporting utilities that generate JSON and Markdown summaries, and comprehensive test coverage. Configuration files are updated to include benchmark sources in TypeScript compilation and add necessary development dependencies, while .gitignore is updated to exclude benchmark output artifacts.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 03-07-add_benchmark_suite_with_github_actions_workflow

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Owner Author

adelrodriguez commented Mar 8, 2026

@adelrodriguez adelrodriguez marked this pull request as ready for review March 8, 2026 00:18
@adelrodriguez adelrodriguez force-pushed the 03-07-add_benchmark_suite_with_github_actions_workflow branch from 7f523a0 to 6d7b7cb Compare March 8, 2026 00:21
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7f523a0837

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@adelrodriguez adelrodriguez force-pushed the 03-07-change_race_methods_to_return_promiselike_instead_of_promise_ branch from 5b0f1eb to 3e41d91 Compare March 8, 2026 00:41
@adelrodriguez adelrodriguez force-pushed the 03-07-add_benchmark_suite_with_github_actions_workflow branch from 6d7b7cb to d65d200 Compare March 8, 2026 00:41
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d65d200b12

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@adelrodriguez adelrodriguez force-pushed the 03-07-add_benchmark_suite_with_github_actions_workflow branch from d65d200 to 26f4bfc Compare March 8, 2026 00:51
@adelrodriguez adelrodriguez force-pushed the 03-07-change_race_methods_to_return_promiselike_instead_of_promise_ branch from 3e41d91 to d18c51f Compare March 8, 2026 00:51
@adelrodriguez adelrodriguez force-pushed the 03-07-add_benchmark_suite_with_github_actions_workflow branch from 26f4bfc to 01d0538 Compare March 8, 2026 00:54
@adelrodriguez adelrodriguez force-pushed the 03-07-change_race_methods_to_return_promiselike_instead_of_promise_ branch from d18c51f to e0980cb Compare March 8, 2026 01:14
@adelrodriguez adelrodriguez force-pushed the 03-07-add_benchmark_suite_with_github_actions_workflow branch from 01d0538 to 34236d2 Compare March 8, 2026 01:14
@adelrodriguez adelrodriguez changed the base branch from 03-07-change_race_methods_to_return_promiselike_instead_of_promise_ to graphite-base/40 March 8, 2026 01:16
@adelrodriguez adelrodriguez force-pushed the 03-07-add_benchmark_suite_with_github_actions_workflow branch from 34236d2 to 292fde2 Compare March 8, 2026 01:17
@graphite-app graphite-app bot changed the base branch from graphite-base/40 to main March 8, 2026 01:17
@adelrodriguez adelrodriguez force-pushed the 03-07-add_benchmark_suite_with_github_actions_workflow branch from 292fde2 to bde9032 Compare March 8, 2026 01:17
@adelrodriguez adelrodriguez merged commit c528f6d into main Mar 8, 2026
6 checks passed
@adelrodriguez adelrodriguez deleted the 03-07-add_benchmark_suite_with_github_actions_workflow branch March 8, 2026 01:18
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.

1 participant