microsoft / microsoft/terminal

WT should start up fast: profile the startup path and trim anything that takes a while

Open
#5,907 46 comments 38 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area-Performance Help Wanted Issue-Task Product-Terminal
Dominant language
C++
Stars
105k
Forks
9.6k
Avg merge
3d 17h
Merged PRs (30d)
29

Description

Steps to reproduce

  1. Click to launch Windows Terminal

Expected behavior

Windows Terminal should be ready instantaneously like windows console, or like Sublime Text.
Windows Terminal can't be slower than windows console.

While Windows Terminal is fast compared with other tools like Visual Studio, or iTunes, it is still not fast enough for a Terminal application.

Actual behavior

It takes too long to startup. It is not ready instantaneously. It's not as fast as windows console.


maintainer note: hijacking OP for task list:

  • Use exactly one ColorPickerFlyout for all tabs, and just redirect it to whatever tab activated it.
  • Delayload the ColorPickerFlyout.
  • Add a setting to disable ALL fragments / dynamic profiles. The app catalog search is expensive.
    • Maybe we can just skip loading dynamic profiles on initial launch, unless we discover that the defaultProfile is a dynamic one... Nah, cause what about for defterm launches that end up matching a dynamic profile.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by profiling the Windows Terminal launch path and measuring the app catalog search used for dynamic profiles. The remaining task is to add a setting that disables all fragments or dynamic profiles without breaking launches whose default profile is dynamic, then verify startup behavior and timing.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop, performance
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.