-
Notifications
You must be signed in to change notification settings - Fork 10.1k
feat: add comprehensive getSlots performance tests for complex team scenarios #22609
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: add comprehensive getSlots performance tests for complex team scenarios #22609
Conversation
- Test 8 round robin + 1 fixed host team scenarios - Complex schedules with lunch breaks across India, Venezuela, Netherlands timezones - Performance comparison of ROUND_ROBIN vs COLLECTIVE scheduling - Scaling analysis with 2, 4, 8 hosts - Date range size impact testing (1 week to 1 month) - Date overrides performance impact analysis - Timezone complexity performance measurement Results show COLLECTIVE scheduling ~25% faster than ROUND_ROBIN Complex 8-host scenarios ~42% slower than simple 2-host baseline Co-Authored-By: [email protected] <[email protected]>
The latest updates on your projects. Learn more about Vercel for Git ↗︎ |
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
✅ No security or compliance issues detected. Reviewed everything up to 51b5019. Security Overview
Detected Code Changes
Reply to this PR with |
…mance-tests-1752788289
- Extended date ranges from 1-2 weeks to 2-4 weeks - Reduced slot intervals from 60min to 15-30min for more granular testing - Now generating 350-1400+ slots per test vs previous 96 slots - Provides more meaningful performance metrics for analysis Co-Authored-By: [email protected] <[email protected]>
…/git-manager.devin.ai/proxy/github.com/calcom/cal.com into devin/getslots-performance-tests-1752788289
…ptimization results Co-Authored-By: [email protected] <[email protected]>
Performance Tests for getSlots Logic with Complex Team Scenarios
Summary
This PR adds comprehensive performance tests for the
getSlots
logic to measure and analyze slot generation performance with complex team configurations. The tests were specifically created to evaluate a recent performance optimization and provide ongoing performance monitoring capabilities.Key Features:
Performance Results:
Review & Testing Checklist for Human
process.hrtime()
timing and slot counting provides reliable, comparable metricsRecommended Test Plan:
TZ=UTC yarn test packages/lib/getSlots-performance.test.ts
multiple times to check consistencyDiagram
Notes
perf: Faster logic by preventing instanceof Dayjs in slots.ts
optimizationbookingScenario.ts
and follows established performance testing conventions