Repository navigation
1.48.0: lighter at rest — scan, probe, git and the background listing only when they can matter - #69
Closed
writingdeveloper wants to merge 1 commit into
Closed
writingdeveloper wants to merge 1 commit into
writingdeveloper wants to merge 1 commit into
Conversation
… only when they can matter Measured on Windows with two idle sessions (1.47.0, 15 min): ~5% of a core, mostly periodic work re-reading what the window already showed. - The activity tick reads a terminal's screen tail only after the terminal was written to (output, a replayed screen, a repaint), and for two more seconds while xterm catches up; a quiet terminal keeps its last reading. - The agent probe (a listing of every process: PowerShell on Windows, ~500 ms) runs for a tile only after it printed since the last probe. Selecting a tile and the update restart still probe outright. - Git (rev-parse + status, more for a workspace) runs every 30 s for the selected tile, every fourth tick for the others, not at all while the window is hidden. - The background-session listing (a claude process, ~340 ms, here and on every connected machine) runs every 30 s while focused with rows, every minute when the group is empty, every two minutes unfocused. The rules are pure functions in src/shared/idleCadence.ts, with tests. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LdbKDr2tTfCLAZv7WbV8kX
writingdeveloper
added a commit
that referenced
this pull request
Oct 27, 2026
… only when they can matter (#69) Measured on Windows with two idle sessions (1.47.0, 15 min): ~5% of a core, mostly periodic work re-reading what the window already showed. - The activity tick reads a terminal's screen tail only after the terminal was written to (output, a replayed screen, a repaint), and for two more seconds while xterm catches up; a quiet terminal keeps its last reading. - The agent probe (a listing of every process: PowerShell on Windows, ~500 ms) runs for a tile only after it printed since the last probe. Selecting a tile and the update restart still probe outright. - Git (rev-parse + status, more for a workspace) runs every 30 s for the selected tile, every fourth tick for the others, not at all while the window is hidden. - The background-session listing (a claude process, ~340 ms, here and on every connected machine) runs every 30 s while focused with rows, every minute when the group is empty, every two minutes unfocused. The rules are pure functions in src/shared/idleCadence.ts, with tests. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LdbKDr2tTfCLAZv7WbV8kX
Owner
Author
|
Merged into main by local squash; released as v1.48.0. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Measured on Windows 11 with two sessions open and nothing happening (1.47.0, 15 minutes): ~5% of one core (main 1.7%, renderer 2.3%, GPU 1%), ~590 MB working set. Most of the CPU was periodic work re-reading what the window already showed:
Get-CimInstance Win32_Processgit rev-parse+git statusper tile (+ worktree)claude agents --json --all, here and on each connected PCWhat changes
screenDirtyAt, which unlikelastDataAtis never withheld), plus a 2 s settle for xterm's deferred parse.providerCheckAt). Select and the update restart (refreshLiveSessionIds) still probe outright.The rules are pure functions in
src/shared/idleCadence.tswith tests;cockpitView.tsonly calls them. Nothing shown changes.At rest with two sessions: scheduled process starts drop from ~9/min to ~1/min; the per-second scans go to zero.
Release notes:
docs/releases/1.48.0.md(also lists what was looked at and left alone).🤖 Generated with Claude Code
https://claude.ai/code/session_01LdbKDr2tTfCLAZv7WbV8kX