Skip to content

Releases

v0.4.0 — Performance release

Choose a tag to compare

@mikevalstar mikevalstar released this 14 Apr 22:50
4ec953f

Performance release

Idle CPU drops from ~6.6% to ~0.1% duty cycle by making FSEvents the primary change signal instead of a 5-second polling timer.

What changed

  • The refresh timer is now a 5-minute safety-net true-up (down from a 5s poll). FSEvents drives all real-time updates via the existing leading-edge throttle, exactly as before.
  • Removed the "Refresh Rate" slider in Settings — this is now an implementation detail rather than a user knob.
  • Initial scan on launch is unchanged; overlay responsiveness to new token usage is unchanged (still within ~5s of a file write).

Why

Profiling an idle app revealed the 5s polling timer was triggering the full reader pipeline every tick. The CursorReader alone cost ~310ms per scan because it JSON-parsed all composerData blobs before checking its mtime cache. FSEvents fires 0 times during true idle, so all that work was pure waste.

Notes

If you previously tuned the Refresh Rate slider, your stored value is ignored — there's nothing to migrate.

v0.3.1

Choose a tag to compare

@mikevalstar mikevalstar released this 14 Apr 22:22
84331a8

Full Changelog: v0.3.0...v0.3.1

v0.3.0

Choose a tag to compare

@mikevalstar mikevalstar released this 14 Apr 22:16
3d84189

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@mikevalstar mikevalstar released this 12 Apr 17:47
44781b2

Full Changelog: v0.1.0...v0.2.0

v0.1.0

Choose a tag to compare

@mikevalstar mikevalstar released this 12 Apr 17:30
937d357