LuaLS / LuaLS/lua-language-server
[Question] Large size type annotation file cause low performance. Is it possible to fix it?
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Lua
- Estrelas
- 4.4k
- Forks
- 442
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
In my project I have a special Lua file used to give type hint, it defines many field such as:
---@class UnityEngine.TransitionType
---@field Normal UnityEngine.TransitionType
---@field Entry UnityEngine.TransitionType
---@field Exit UnityEngine.TransitionType
UnityEngine.TransitionType = {}
---@class UnityEngine.StateInfoIndex
---@field CurrentState UnityEngine.StateInfoIndex
---@field NextState UnityEngine.StateInfoIndex
---@field ExitState UnityEngine.StateInfoIndex
---@field InterruptedState UnityEngine.StateInfoIndex
UnityEngine.StateInfoIndex = {}
--- ...more below
It contains all type using in my project so it's very large (about 5000KB), and caused low diagnostic speed when LLS runs.
Is it possible to optimize performance for those special type annotation file? Or I have to simplify this Lua file.
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Reproduza a lentidão com o arquivo Lua de anotações de tipo de 5,000 KB relatado e compare a velocidade do diagnóstico com a de um arquivo menor. Rastreie o caminho de diagnóstico que processa as anotações; considera-se concluído quando o caso do arquivo grande apresentar uma melhoria substancial de desempenho sem perder informações de tipo.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- lua
- Domínio
- devtools, performance
- Tipo de issue
- Bug
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Status de atividade
- Estagnada
- Clareza
- Precisa de esclarecimento
- Facilidade para iniciantes
- 25/100