aprs.me/lib/aprsme_web
Graham McIntire 1934b8d014
Optimize memory pruning performance for large datasets
- Implemented dual-strategy pruning based on overage size
- Small overages (<10 packets): Only remove exactly what's needed
- Large overages: Batch prune with 20% buffer to reduce frequency
- Used Map.drop for more efficient bulk deletion
- Added Stream for lazy evaluation in small overage case
- Reduces complexity from O(n log n) on every insertion to:
  - O(k log k) for small overages where k << n
  - Amortized O(n log n) for large overages with buffering
- This significantly improves performance when managing thousands of packets

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 10:11:53 -05:00
..
components main map improvements 2025-07-13 14:58:13 -05:00
controllers integrate /:call to main page 2025-07-13 10:36:58 -05:00
live Optimize memory pruning performance for large datasets 2025-07-14 10:11:53 -05:00
plugs badpackets formatting 2025-07-12 08:02:51 -05:00
aprs_symbol.ex refactor 2025-07-13 16:49:20 -05:00
endpoint.ex built in error tracking 2025-07-07 11:06:22 -05:00
gettext.ex more languages 2025-07-06 10:08:58 -05:00
router.ex integrate /:call to main page 2025-07-13 10:36:58 -05:00
telemetry.ex add packet batcher 2025-06-24 15:06:09 -05:00
time_helpers.ex main map improvements 2025-07-13 14:58:13 -05:00
time_utils.ex refactor and performance improvements 2025-07-10 10:53:34 -05:00
user_auth.ex refactor to use external parser 2025-06-24 14:22:09 -05:00
weather_units.ex fix nil weather units 2025-07-08 12:45:50 -05:00