Нормальна ли задержка 100-300 мс на авто-дополнение в файле 1000 строк?
Мне непривычно, потому-что я в большинстве своём декомпозирую по 100-300 строк на файл, в этот раз слегка оттянул этот момент и появилась задержка перед подсказками по авто-дополнению.
Линтеры на лету выключены, включены все виды дополнений кода, по типу формирование списка подсказок на базе ИИ и полнострочное авто-дополнение - выключение (всего) ситуации не помогло.
P.S: Язык Rust, ide RustRover
P.S2: Обнаружил что в случае некоторых букв, которые закреплены за синтаксисом языка, как fn, static и т.д. - происходит быстро, а после подгружается остальное с той самой задержкой:
f - быстро (fn), s - быстро (static), p - медленно (pub, pub (crate), player....)
какой хоть язык?
Языки разные бывают, где-то чтобы автодополнить, нужно скомпилировать заново весь файл/модуль, а где-то из бора достаточно ветку вытащить.
historydev, а как измерить задержку? Вообще как ниже уже написали - на задержку больше влияет размер проекта, количество зависимостей, а не количество строк в одном файле.
Максимум на что может влиять количество строк в файле - дополнение при помощи JB AI, так что я бы для проверки выключил бы всё что связано с машинным обучением и ai.
А ну и ещё автокомплиту могут мешать ошибки компиляции - в таком случае зря выключил cargo check.
Кстати, а ты уверен, что ты не Tooltip delay утыкаешься? (параметр такой в настройках, чтобы при наборе первой же буквы тебе не высвечивалось окно с предложениями)
Максимум на что может влиять количество строк в файле - дополнение при помощи JB AI, так что я бы для проверки выключил бы всё что связано с машинным обучением и ai.
Линтеры на лету выключены, включены все виды дополнений кода, по типу формирование списка подсказок на базе ИИ и полнострочное авто-дополнение - выключение (всего) ситуации не помогло.
historydev, сейчас для теста выключил whole line completion, сортировку при помощи machine learning, Jetbrains AI, тултипы с документацией, сигнатурами, и типами параметров.
Tooltip Delay = 1ms
Проект - bevyengine.
Предварительно даже не смог собрать проект из-за "Файл подкачки слишком мал для завершения операции." + IDE вылетает периодически.
Но при вводе bevy:: почти мгновенно получаю тултип с предложениями.
У тебя же проект не в wsl лежит?
Совершенно не нормальна на более-менее адекватном железе.
Играет роль не размер конкретного файла, а размер всего проекта (и язык), но у меня даже на крупных проектах такого лага нет (но и железо у меня топовое).
historydev, сейчас в сильно большом проекте посмотрел, даже выставил tooltip delay=1мс. Тоже где-то меньше секунды жду появления тултипа (ну 100-200мс на глаз я бы сказал)
Кажется, придётся смириться с этим.
historydev, не уверен про Rust, но дело ещё может быть не только в количестве кода, но и его структуре. JetBrains'овские IDE делают довольно глубокий семантический анализ, поэтому если у вас в коде одновременно type level programming и куча сложных связей, анализатор может стать задумчивым.
Сергей Горностаев, По ощущениям задержка линейно растёт от кол-ва строк, связи не то чтобы сложные, туда передал, сюда передал и это в основном ссылки.
Я уже декомпозировал всё, так-что в целом для меня вопрос себя исчерпал, т.к. перелопатив всю ide я не нашёл ничего кроме как включить подсказки во время ввода.
А если задержка растёт линейно или как вы говорите, то и смысла особого думать на этот счёт не вижу, остаётся декомпозировать, если вырастет до очень большой кодовой базы, то этим-же буду заниматься на уровне библиотек, полагаю так это и работает - не работал с таким ещё.
Сергей Горностаев, Уже не по ощущениям, а по факту, удалось проверить копи-пастом N кусков, которые игнорироваться должны, т.к. до них идёт бесконечный цикл и связей здесь никаких нет, собственно после примерно 700 строк появляется задержка и заметно растёт с каждой последующей сотней.