OmniSharp / OmniSharp/csharp-language-server-protocol
Startup performance issues
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 638
- Forks
- 109
- Avg merge
- 1m
- Merged PRs (30d)
- 2
Description
The startup of the language server takes on windows >1 sec and on a linux dege device >7 seconds.
We identified the responsible code:
var Input = Console.OpenStandardInput();
var Output = Console.OpenStandardOutput();
//...
var OmniLanguageServer = await OmniSharp.Extensions.LanguageServer.Server.LanguageServer.From(
options =>
options
.WithInput(Input)
.WithOutput(Output)
.ConfigureLogging(x => x
.AddLanguageServer()
.SetMinimumLevel(enableDebug ? LogLevel.Trace : LogLevel.Information))
.OnInitialize((server, request) =>
{
initializeParams = request;
return Task.CompletedTask;
})
).ConfigureAwait(true);
We are currently using version 0.15.0.
Are there any performance improvements in the latest version? Because when we tried to update to the latest version (0.19.0 currently) our software wouldn't compile anymore and then we wouldn't want to spend the effort if no improvements were done.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the LanguageServer.From setup shown in the issue and compare startup behavior between versions 0.15.0 and 0.19.0. Profile initialization on Windows and the Linux edge device, then determine whether a specific regression or avoidable delay can be isolated. Done requires a measured startup improvement and a compatible change, but the issue does not name files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- devtools, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100