1c-syntax / bsl-language-server

Реализация Language Server Protocol для языка 1C (BSL)
https://1c-syntax.github.io/bsl-language-server
Other
299 stars 105 forks source link

[BUG] При выключении "почти" всех диагностик получаю деградацию производительности анализа #997

Open qtLex opened 4 years ago

qtLex commented 4 years ago

Версия bsl-language-server-0.14.0-RC3

Описание ошибки диагностики Если выключит "почти" все диагностики, но оставить TypoDiagnostic. Получаю деградацию производительности.

Дополнительная информация Пример конфиг файла bsl-language-server.txt Если в файл добавит "Typo": false. Анализ выполнятеся на приемлемое время.

Профайлер запущенный в этот момент выдает собщение о "Potential deadlock: frozen threads found" potential-deadlock.txt

nixel2007 commented 4 years ago

Метод check внутри диагностики typo лежит в synchronized блоке. Сам метод долгий и то, что там появляется ожидание - это нормально. Странно, что треды ждут по 10 секунд, но без исходников конфигурации такое отловить будет сложно.

qtLex commented 4 years ago

Проверю зависит ли это от конфигурации.

Ожидание, это нормально. Но когда время с 7 минут просело до ~7 часов, тут явно проблемы

nixel2007 commented 4 years ago

Да, это конечно же проблема :)

qtLex commented 4 years ago

Попробовал на нескольких конфигурациях. Нет явной зависимости от конфигурации. Из распространенных воспроизводится на УХ 3.0.10.13.

EightM commented 4 years ago

xMax указываешь сразу при запуске?

qtLex commented 4 years ago

Вообще не указываю.

EightM commented 4 years ago

Попробуй

nixel2007 commented 4 years ago

@qtLex можешь проверить на вот этой сборке?

https://github.com/1c-syntax/bsl-language-server/pull/998

qtLex commented 4 years ago

@qtLex можешь проверить на вот этой сборке?

998

@nixel2007 Не помогло.

asosnoviy commented 4 years ago

@qtLex релиз вышел. Перфоманс починили?

qtLex commented 4 years ago

@asosnoviy Нет. все по прежнему. Без конфига с выключенными диагностиками 10 мин, с конфигом за час 39%.

theshadowco commented 4 years ago

@qtLex проблема атуальна?

qtLex commented 4 years ago

Проблема все еще есть, но у меня не болит. Это очень редкий сценарий использования. Думаю можно закрыть.

MinimaJack commented 4 years ago

@qtLex возможно проблема в железе? Swap? На другом пробовал?

qtLex commented 4 years ago

@qtLex возможно проблема в железе? Swap? На другом пробовал?

На трех разных компах и двух конфигурациях. Результат один

otymko commented 2 years ago

@qtLex проверил сейчас на коммите "6a75b0c3d5ceeaf15bf7973fe3176303f8d3deee", проблема твоя не воспроизвелась. Еще актуально?