GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Very slow performance opening layouts/workspaces · Issue #1053 · tmux-python/tmuxp

Very slow performance opening layouts/workspaces #1053

New issue
Copy link
New issue
Copy link
Open
Open
Very slow performance opening layouts/workspaces#1053
Copy link
Labels
bugSomething isn't workingSomething isn't working

Description

@DrunkenToast
DrunkenToast
opened on Jun 19, 2026
Issue body actions

I used to use this project a while ago, recently I wanted to incorporate it again in a few of my scripts but it seems like opening layouts takes a significant amount of time.

Simple layouts (2 windows where 1 window is a split pane with simple commands prefilled) can take several seconds to open. It seems to linearly scale with the amount of windows as well.
This feels like something that should take milliseconds, not seconds.

Here is an extreme example of a workspace that took 25 seconds!

✓ Loaded workspace: work/haystack (~/.config/tmux-layouts/projects/work/haystack/layout.yaml) [12 win, 18 panes]
Session created in detached state.
[detached (from session work/haystack)]

~ took 25s

Repeat the following windows 6 times (for 12 total windows) and you've got the layout from above:

session_name: ${SESSION_NAME}
start_directory: ${PROJECT_DIR}
windows:
    - window_name: Editor
      layout: main-vertical
      focus: true
      options:
          main-pane-width: 75%
      panes:
          - shell_command: nvim
            focus: true
          - null

    - panes:
          - null

It's especially jarring because I feel like it definitely did not take this long with a version from months ago, though I can't say that with certainty.

This project so far does provide the most flexibility and features that I'd like to have, so thanks for the effort! <3

Activity

  1. moustachioed commented on Jun 22, 2026

    @moustachioed
    moustachioed
    on Jun 22, 2026
    More actions

    I can confirm that there is a severe regression in performance somewhere between version 1.56.0 and 1.67.0. After my system update loading my sessions (maybe 5-6 windows with 1 pane each per session) went from roughly 1 second per session to at least 10 seconds each.

  2. tony
    added
    bugSomething isn't workingSomething isn't working
    on Jun 25, 2026
  3. tony commented on Jun 26, 2026

    @tony
    tony
    on Jun 26, 2026
    Member
    More actions

    Will look closer this weekend. WIP: #1056 / tmuxp-lag

  4. tony
    added 2 commits that reference this issue on Jun 27, 2026

    builder(perf[readiness]) parallelize prompt wait

    38312de

    builder(perf[readiness]) parallelize prompt wait

    cab36d5
  5. tony commented on Jun 27, 2026

    @tony
    tony
    on Jun 27, 2026
    Member
    More actions

    @DrunkenToast @moustachioed Does tmuxp <1.64.1 (1.60.0 and below) work better? That should be a workaround.

    Want to see if it's #1018's pane-readiness fix for zsh (docs).

  6. tony commented on Jun 29, 2026

    @tony
    tony
    on Jun 29, 2026
    Member
    More actions

    If you try tmuxp 1.73.0, and do this in your workspace file:

    workspace_builder_options:
      pane_readiness: never

    Is it any faster?

  7. moustachioed commented on Jun 29, 2026

    @moustachioed
    moustachioed
    on Jun 29, 2026
    More actions

    @tony I can confirm both, 1.64.0 and 1.73.0 with the additional option are much faster. Thanks for your fix!

  8. DrunkenToast commented on Jul 3, 2026

    @DrunkenToast
    DrunkenToast
    on Jul 3, 2026
    Author
    More actions

    Can confirm it is much faster. Went from 25s to 7s however for something that seemingly just has to open a session and set up windows with some prefilled commands this still feels slow. Of course I don't know much about the implementation so I don't want to cast judgement, just a surface level feeling :)

    It's mostly because I felt like in the past it was almost instant that I opened this ticket. I think if it was 7 seconds from the get go that I would've opened this ticket as well. But I could be misremembering things.

    Much appreciated for the quick action though! <3

  9. tony commented on Jul 5, 2026

    @tony
    tony
    on Jul 5, 2026
    Member
    More actions

    Can confirm it is much faster. Went from 25s to 7s however for something that seemingly just has to open a session and set up windows with some prefilled commands this still feels slow. Of course I don't know much about the implementation so I don't want to cast judgement, just a surface level feeling :)

    Yes. tmuxp will soon go from the slowest session launcher to the fastest, while staying featureful and pythonic.

    This is a preview from a future update, for an upcoming release:

      ┌─────────────────┬───────┬────────────────┬───────────────────┬─────────┐
      │    Workspace    │ panes │ classic median │ engine-ops median │ speedup │
      ├─────────────────┼───────┼────────────────┼───────────────────┼─────────┤
      │ 1 win × 1 pane  │     1 │         739 ms │             20 ms │     37× │
      ├─────────────────┼───────┼────────────────┼───────────────────┼─────────┤
      │ 1 win × 4 panes │     4 │         2.56 s │             32 ms │     79× │
      ├─────────────────┼───────┼────────────────┼───────────────────┼─────────┤
      │ 3 win × 3 panes │     9 │         5.80 s │             60 ms │     97× │
      ├─────────────────┼───────┼────────────────┼───────────────────┼─────────┤
      │ 5 win × 4 panes │    20 │        12.70 s │            150 ms │     85× │
      ├─────────────────┼───────┼────────────────┼───────────────────┼─────────┤
      │ 8 win × 4 panes │    32 │        23.13 s │            298 ms │     78× │
      └─────────────────┴───────┴────────────────┴───────────────────┴─────────┘
    
  10. tony commented on Jul 5, 2026

    @tony
    tony
    on Jul 5, 2026
    Member
    More actions

    To show it's not just talk - note this could break, the ultimate PR I go with may end up being different. I'll be working on it over the next few weeks:

    • feat: engine-ops async folding workspace builder #1075

    If you're feeling bold and have uv installed:

    uvx --from git+https://github.com/tmux-python/tmuxp.git@engine-ops \
      tmuxp load \
      --engine-ops \
      <path-to-workspace-or-workspace-file>

    Does this work?

  11. DrunkenToast commented on Jul 6, 2026

    @DrunkenToast
    DrunkenToast
    on Jul 6, 2026
    Author
    More actions

    To show it's not just talk - note this could break, the ultimate PR I go with may end up being different. I'll be working on it over the next few weeks:

    * [feat: engine-ops async folding workspace builder #1075](https://github.com/tmux-python/tmuxp/pull/1075)
    

    If you're feeling bold and have uv installed:

    uvx --from git+https://github.com/tmux-python/tmuxp.git@engine-ops
    tmuxp load
    --engine-ops

    Does this work?

    I just tried it and it's definitely an impressive difference for startup! I think it's max a second or so now.

    Thanks for sharing! :)

    P.S. I don't know how far development got along here but I did notice that commands executing takes a while once opened, gut feeling is like 3 seconds before it starts opening vim for example, and I think it is ignoring the enter: false option.

    Reacted by Tony Narlock
    Reacted by Tony Narlock
  12. tony commented on Jul 7, 2026

    @tony
    tony
    on Jul 7, 2026
    Member
    More actions

    I just tried it and it's definitely an impressive difference for startup! I think it's max a second or so now.

    Thank you to trying it!

    P.S. I don't know how far development got along here but I did notice that commands executing takes a while once opened, gut feeling is like 3 seconds before it starts opening vim for example, and I think it is ignoring the enter: false option.

    I will investigate this angle. It's not too late to look at / reenvision anything.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.