Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reduce time from type to autocompletion menu open #12750

Open
1 task done
JosephTLyons opened this issue Jun 6, 2024 · 8 comments
Open
1 task done

Reduce time from type to autocompletion menu open #12750

JosephTLyons opened this issue Jun 6, 2024 · 8 comments
Assignees
Labels
bug [core label] language An umbrella label for all programming languages syntax behaviors performance Feedback for performance issues, speed, memory usage, etc typescript TypeScript programming language support

Comments

@JosephTLyons
Copy link
Collaborator

Check for existing issues

  • Completed

Describe the bug / provide steps to reproduce it

Work was done to improve the speed at which our completions filtered into the autocompletion menu here - we are now noticeably faster after the menu appears, but the speed in which the menu shows seems to be slower than other editors with the same project.

Using @osiewicz's project that reproduces some of the perf issues in TS, we can see we are slower to pop open the menu when compared to VS Code:

Zed:

Screen.Recording.2024-06-06.at.2.48.51.PM.mov

VS Code:

Screen.Recording.2024-06-06.at.2.48.28.PM.mov

Peter mentioned Helix being faster as well

Environment

Zed: v0.140.0 (Zed Nightly 4fd698a)
OS: macOS 14.4.0
Memory: 64 GiB
Architecture: aarch64

If applicable, add mockups / screenshots to help explain present your vision of the feature

No response

If applicable, attach your ~/Library/Logs/Zed/Zed.log file to this issue.

No response

@JosephTLyons JosephTLyons added bug [core label] performance Feedback for performance issues, speed, memory usage, etc typescript TypeScript programming language support language An umbrella label for all programming languages syntax behaviors admin read Pending admin review and removed admin read Pending admin review labels Jun 6, 2024
@osiewicz osiewicz self-assigned this Jun 7, 2024
@curiousercreative
Copy link
Contributor

Perhaps related, type definitions are also quite slow to show (on hover or click)

@osiewicz
Copy link
Contributor

In #12928 I've slashed the time needed for us to deserialize large LSP responses (500ms -> 200ms). I think we should be slightly better now.

@JosiahParry
Copy link

I'm running into this issue with Rust. It takes multiple seconds for it to be recognized using

Zed: v0.140.5 (Zed)
OS: macOS 14.4.1
Memory: 16 GiB
Architecture: aarch64

Screen Recording 2024-06-22 at 13 44 34

@Arsik0153
Copy link

Same here. Typescript autocompletion feels lot slower than in VSCode. Issue still exists.

@mocenigo
Copy link

mocenigo commented Oct 22, 2024

Same here. Typescript autocompletion feels lot slower than in VSCode. Issue still exists.

I think VSCode also caches older autocompletions and can work asynchronously, updating the completion list as it goes. I think that show and starting to populate the menu while deserialising is the key, unless it is already being done.

I believe that the right contact for this issue is @osiewicz (love the Gyro Gearloose avatar!).

@osiewicz
Copy link
Contributor

Could you turn on tracing on the language server level to see whether it's just us being slow to process the completions?

@github-actions github-actions bot added admin read Pending admin review triage Maintainer needs to classify the issue labels Nov 5, 2024
@notpeter notpeter removed triage Maintainer needs to classify the issue admin read Pending admin review labels Nov 5, 2024
@icarusgk
Copy link

icarusgk commented Nov 8, 2024

This is also happening using Vue, how can we turn on tracing on the language server @osiewicz?

@osiewicz
Copy link
Contributor

osiewicz commented Nov 9, 2024

You can use "debug: open language server logs" from command palette (the name might be a bit off as I'm on mobile). I suppose either RPC messages or Server Logs may be the most interesting

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug [core label] language An umbrella label for all programming languages syntax behaviors performance Feedback for performance issues, speed, memory usage, etc typescript TypeScript programming language support
Projects
None yet
Development

No branches or pull requests

8 participants