Skip to content

Performance issue: session-child-cycle becomes extremely slow with many sessions #3526

Closed

Description

@zenyr

Description

session-child-cycle (ctrl+right) and session-child-cycle-reverse (ctrl+left) become extremely slow in workspaces with many sessions (e.g., after subagents create child sessions). Response time exceeds 10 seconds, causing input lag and ignored commands.

Root cause: `Session.children()` in `packages/opencode/src/session/index.ts` performs O(N) scan of all sessions via `Storage.list()` and `Storage.read()` per cycle.

OpenCode version

0.15.23 (sessions persist across versions)

Steps to reproduce

  1. Create workspace with 500+ sessions (e.g., run complex tasks with subagents).
  2. Press ctrl+right or ctrl+left to cycle sessions.
  3. Observe delay in switching.

Screenshot and/or share link

Image

... no wonder 😅

Operating System

macOS (Darwin)

Terminal

No response

Activity

  1. added
    perfIndicates a performance issue or need for optimization
    on Oct 29, 2025
  2. rekram1-node commented on Oct 29, 2025

    @rekram1-node
    Contributor

    good to know thx

  3. ry2009 commented on Dec 9, 2025

    @ry2009
    Contributor

    Should more then resolve the problem but open to comments or concerns:
    ry2009#4

  4. zenyr commented on Dec 11, 2025

    @zenyr
    ContributorAuthor

    Guys please add input about your recent experience with this issue, since I myself have not suffered this issue these days.

    • Before: took >20s every time
    • After: takes <2s (not an exact science)

    For the record

    now my storage looks like this after extensive use of OC:

    Image Image
    • No gigantic /session folder anymore! 👍 Huge W
    • No, the switch is not INSTANT fast yet. But it works within reasonable time nonetheless.

    So... of course, this could be even better with more optimizations. But I consider this mostly solved.

  5. ry2009 commented on Dec 11, 2025

    @ry2009
    Contributor

    @zenyr is this what you found naturally with the newest OpenCode version?

  6. rekram1-node commented on Dec 11, 2025

    @rekram1-node
    Contributor

    I did do a small optimization for subagent stuff in terms of perf that could be what fixed it

    also we are improving the ux of subagent nav soon

  7. ry2009 commented on Dec 11, 2025

    @ry2009
    Contributor

    Should I close out my perf with extra caches fix then? @rekram1-node

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

perfIndicates a performance issue or need for optimization

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions