Files
daily-notification-plugin/doc/PERFORMANCE.md

1.7 KiB

Performance Characteristics

Purpose: Expected performance characteristics and benchmarks for Daily Notification Plugin operations.
Owner: Development Team
Last Updated: 2025-12-22
Status: active


Expected Operation Times

Scheduling Operations

  • Schedule creation: < 50ms (typical), < 100ms (p95)
  • Schedule update: < 50ms (typical), < 100ms (p95)
  • Schedule deletion: < 50ms (typical), < 100ms (p95)

Recovery Operations

  • Cold start recovery: < 500ms (typical), < 1000ms (p95)
  • Force stop recovery: < 500ms (typical), < 1000ms (p95)
  • Boot recovery: < 1000ms (typical), < 2000ms (p95)

Database Operations

  • Query (getEnabled): < 50ms (typical), < 100ms (p95)
  • Query (getById): < 10ms (typical), < 20ms (p95)
  • Insert/Update: < 50ms (typical), < 100ms (p95)

Memory Footprint

  • In-memory metrics: ~10KB per 100 metrics
  • Event logs: ~5KB per 100 events
  • Total overhead: < 100KB (development mode), < 10KB (production, metrics disabled)

Platform-Specific Considerations

iOS

  • Background task time limits: ~30 seconds
  • CoreData auto-migration: typically < 100ms

Android

  • WorkManager execution time limits: flexible (minutes)
  • Room migrations: typically < 200ms

Web

  • No background execution limits
  • No native database operations

Measurement Methodology

Metrics are collected using:

  • performance.now() (Web/TypeScript)
  • System.currentTimeMillis() (Android)
  • Date.timeIntervalSince() (iOS)

All timings are in milliseconds.


See also: