J. Nick Koston
674d030cbb
[core] Reschedule fired intervals directly into heap ( #15516 )
2026-04-07 07:36:55 -10:00
J. Nick Koston
82dc80a413
[scheduler] Skip cancel for anonymous items, add empty-container fast path ( #15397 )
2026-04-07 01:26:40 +00:00
J. Nick Koston
0de2c758aa
[scheduler] Use placement-new for std::function move in set_timer_common_ ( #14757 )
2026-03-23 16:31:27 +13:00
J. Nick Koston
9a80c980cb
[scheduler] Early exit cancel path after first match ( #14902 )
2026-03-18 07:48:26 -10:00
J. Nick Koston
c9e6c85e6a
[scheduler] Inline fast-path checks into header ( #14905 )
2026-03-18 07:48:11 -10:00
b9e8da92c7
[scheduler] Fix UB in cross-thread counter/vector reads, add atomic fast-path ( #14880 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-03-18 00:19:31 +00:00
J. Nick Koston
d6d3bbbad8
[scheduler] Use integer math for interval offset calculation ( #14755 )
2026-03-13 13:28:34 -10:00
J. Nick Koston
9dd3ec258c
[scheduler] Replace unique_ptr with raw pointers, add leak detection ( #14620 )
2026-03-10 09:11:28 -10:00
J. Nick Koston and Claude Opus 4.6
1c5fd8bbd4
[core] Move millis_64 rollover tracking out of Scheduler ( #14360 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-02 06:56:51 -10:00
J. Nick Koston and Claude Opus 4.6
280f874edc
[rp2040] Use native time_us_64() for millis_64() ( #14356 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-27 11:18:02 -10:00
J. Nick Koston and Claude Opus 4.6
63e757807e
[zephyr] Use native k_uptime_get() for millis_64() ( #14350 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-27 10:01:09 -10:00
J. Nick Koston and Claude Opus 4.6
8698b01bc7
[host] Use native clock_gettime for millis_64() ( #14340 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-27 18:54:13 +00:00
J. Nick Koston
1c7f769ec7
[core] Add millis_64() HAL function with native ESP32 implementation ( #14339 )
2026-02-27 07:48:21 -10:00
J. Nick Koston and pre-commit-ci-lite[bot]
2ff876c629
[core] Use custom deleter for SchedulerItem unique_ptr to prevent destructor inlining ( #14258 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
2026-02-25 13:18:44 +13:00
J. Nick Koston
08dc487b5b
[core] Pass std::function by rvalue reference in scheduler ( #14260 )
2026-02-25 13:08:07 +13:00
J. Nick Koston
a468261523
[scheduler] De-template and consolidate scheduler helper functions ( #14164 )
2026-02-21 19:41:26 -06:00
J. Nick Koston
462ac29563
[scheduler] Use relaxed memory ordering for atomic reads under lock ( #14140 )
2026-02-21 17:29:41 -06:00
J. Nick Koston
6f198adb0c
[scheduler] Reduce lock acquisitions in process_defer_queue_ ( #14107 )
2026-02-21 14:29:50 -06:00
J. Nick Koston
abe37c9841
[uptime] Use scheduler millis_64() for rollover-safe uptime tracking ( #14170 )
2026-02-21 03:08:49 +00:00
J. Nick Koston
dff9780d3a
[core] Use constexpr for compile-time constants ( #14071 )
2026-02-19 03:19:48 +00:00
J. Nick Koston
38bba3f5a2
[scheduler] Reduce set_timer_common_ hot path size by 25% ( #13899 )
2026-02-11 16:42:13 +13:00
J. Nick Koston and Jonathan Swoboda
e0712cc53b
[scheduler] Make core timer ID collisions impossible with type-safe internal IDs ( #13882 )
...
Co-authored-by: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com >
2026-02-09 13:16:22 -06:00
J. Nick Koston
2383b6b8b4
[core] Deprecate set_retry, cancel_retry, and RetryResult ( #13845 )
2026-02-09 12:05:32 -06:00
J. Nick Koston
248fc06dac
[scheduler] Eliminate heap allocation in full_cleanup_removed_items_ ( #13837 )
2026-02-09 08:44:20 -06:00
J. Nick Koston
d5f557ad1c
[scheduler] Eliminate heap allocations for std::string names and add uint32_t ID API ( #13200 )
2026-01-14 09:15:31 -05:00
J. Nick Koston
3d74d1e7f0
[libretiny] Regenerate boards, enable Cortex-M4 atomics, and consolidate platform code ( #13191 )
2026-01-13 21:39:11 +00:00
J. Nick Koston
861ed8dd41
[scheduler] Avoid std::string allocation in RetryArgs ( #12311 )
2025-12-09 09:27:12 -05:00
J. Nick Koston
05826d5ead
[scheduler] Fix missing lock when recycling items in defer queue processing ( #12343 )
2025-12-07 13:30:22 -06:00
J. Nick Koston
80e881655f
[scheduler] Fix use-after-free when cancelling timeouts from non-main-loop threads ( #12288 )
2025-12-04 19:14:22 -06:00
J. Nick Koston
1fadd1227d
[scheduler] Fix use-after-move crash in heap operations ( #12124 )
2025-11-27 10:50:21 -06:00
J. Nick Koston
1888f5ffd5
[scheduler] Add defensive nullptr checks and explicit locking requirements ( #11974 )
2025-11-18 18:16:18 +00:00
J. Nick Koston
fc546ca3f6
[scheduler] Fix timing breakage after 49 days of uptime on ESP8266/RP2040 ( #11924 )
2025-11-15 22:20:57 -06:00
J. Nick Koston
df53ff7afe
[scheduler] Extract helper functions to improve code readability ( #11730 )
2025-11-06 07:13:12 +13:00
J. Nick Koston
4a5e6576c8
[scheduler] Refactor call() for improved code organization ( #11643 )
2025-11-03 14:29:29 +13:00
J. Nick Koston
f25af18655
[scheduler] Replace defer queue deque with vector to avoid 512-byte upfront allocation ( #11305 )
2025-10-20 07:34:34 +13:00
J. Nick Koston
e2c5eeef97
[scheduler] Deduplicate item removal code with template helper ( #11017 )
2025-10-05 16:32:51 -05:00
J. Nick Koston
ac07a00141
[scheduler] Fix timing accumulation in scheduler causing incorrect execution measurements ( #10719 )
2025-09-14 22:05:56 +00:00
J. Nick Koston
5cc0e21bc7
[core] Reduce unnecessary nesting in scheduler loop ( #10644 )
2025-09-09 09:04:07 +12:00
J. Nick Koston
8d90f13e97
[core] Store component source strings in flash on ESP8266 (breaking change) ( #10621 )
2025-09-07 20:10:00 -05:00
J. Nick Koston and Copilot
166ad942ef
[scheduler] Reduce SchedulerItem memory usage by 7.4% on 32-bit platforms ( #10553 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-07 18:51:07 -05:00
J. Nick Koston
28d16728d3
[core] Add memory pool to scheduler to reduce heap fragmentation ( #10536 )
2025-09-08 10:27:58 +12:00
J. Nick Koston and Copilot
b25506b045
[core] Skip redundant process_to_add() call when no scheduler items added ( #10630 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-08 09:10:55 +12:00
J. Nick Koston
61a5023888
[script] Fix parallel mode scripts with delays cancelling each other ( #10324 )
2025-08-25 08:49:52 +12:00
J. Nick Koston
6818439109
[core] Fix scheduler race condition where cancelled items still execute ( #10268 )
2025-08-18 11:14:41 -04:00
J. Nick Koston
85435e6b5f
[scheduler] Eliminate more runtime string allocations from retry ( #9930 )
2025-07-29 08:54:16 +12:00
Clyde Stubbs
2b87589562
[scheduler] Fix null pointer crash ( #9893 )
2025-07-25 09:12:33 -10:00
J. Nick Koston
88ccde4ba1
[scheduler] Fix retry race condition on cancellation ( #9788 )
2025-07-25 08:14:15 -10:00
J. Nick Koston
1344103086
[core] Revert #9851 and rename ESPHOME_CORES to ESPHOME_THREAD ( #9862 )
2025-07-24 11:04:00 +00:00
Clyde Stubbs
f9534fbd5d
[interval] Fix startup behaviour ( #9793 )
2025-07-24 08:03:36 +10:00
J. Nick Koston
ecd310dae1
[core] Refactor scheduler to eliminate hidden side effects in empty_ ( #9743 )
2025-07-20 23:11:30 +00:00