LINUX.ORG.RU

Сильно тормозит IDEA

 , , ,


0

4

Собственно решил опробовать rust плагин для IDEA и столкнулся с космическими тормозами: https://itmages.ru/image/view/5984673/ae426f8c

На скрине видим системный монитор kde, который показывает, что тормозит именно idea, и коньки, на которых видно, как плохо процу. Пики на графиках - это когда я начинаю что-то писать.

IDEA последняя, архивом с их сайта. Возможно это так тормозит плагин для Rust, но я сомневаюсь, что авторы этого не заметили. Сам плагин написан на Kotlin (racer не используется).

IDEA даёт полезные плюшки, по сравнению с sublime, но когда тормозит даже ввод текста - пользоваться такой IDE невозможно.

Есть какие-то фиксы для самой IDEA, что бы она не так тормозила?

PS: железо не слабое: i5 3570k@3.8GHz, 8GB RAM, GTX 960

UPD: багрепорт тут: https://github.com/intellij-rust/intellij-rust/issues/1572

★★★★★

Последнее исправление: RazrFalcon (всего исправлений: 1)

Есть какие-то фиксы для самой IDEA, что бы она не так тормозила?

Нет, это его основополагающая фича - неистово тормозить даже на железе за тысячи убитых енотов.

Akamanah ★★★★★
()

Апдейт надо делать. Древний весьма средний процессор 2012 года и 8 ГБ ОЗУ - это как-то не смешно.

Можешь ещё попробовать сменить Open JDK на Oracle JDK

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)

IDEA даёт полезные плюшки, по сравнению с sublime, но когда тормозит даже ввод текста - пользоваться такой IDE невозможно.

Взгляни таки на VS Code. Не IDEA, но юзабельно, и уж точно лучше саблайма.

quantum-troll ★★★★★
()

Мы не знаем как плагин написан, как там работа с ast реализована. Знаю точно, что если приложению на java не хватает heap size или скорее его едва-едва хватает то GC начинает судорожно манипулировать весящими в памяти объектами, CPU и подсистема памяти будет загружены очень сильно, диск нет т.к. дефолтный heap запросто уместится в 8 гиг оперативки. Исходя из этого знания, я могу только порекомендовать увеличить heap size: https://intellij-support.jetbrains.com/hc/en-us/articles/206544869-Configuring-JVM-options-and-platform-properties А еще тут пишут, что в idea можно включить индикацию загрузки памяти: https://stackoverflow.com/questions/36691118/is-it-possible-to-show-heap-memory-size-in-intellij-ide-android-studio

Aber ★★★★★
()

SSD используется? У меня IDEA неплохо жила на i5-2520M и 8 GiB (а потом и 16 GiB). Но на плексе. На i7-7700HQ и NVMe, правда, ещё лучше.

grossws
()

дай код, который ты пытаешься редактировать. Я попробую установить плагин на последнюю Idea Ultimate. Попробуем воспроизвести баг

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от quantum-troll

Тоже самое же. Тормозит почти так же, но фич поменьше.

RazrFalcon ★★★★★
() автор топика
Ответ на: комментарий от fornlr

Древний весьма средний процессор 2012 года и 8 ГБ ОЗУ - это как-то не смешно.

Смешно.

Можешь ещё попробовать сменить Open JDK на Oracle JDK

Я хз что там за JDK. Архив 400МБ с офсайта.

RazrFalcon ★★★★★
() автор топика
Ответ на: комментарий от RazrFalcon

Там в комплекте своя патченная OpenJDK, не думаю что на чём-то другом она лучше заработает, и шрифты будут насиловать глаза.

xcariba ★★
()

Редактор кода IDEA сильно раскручен на хайпе вокруг редактора кода без мыши. Что хочешь добиться от этого толком неотлаженного многостраничного блокнота, прикидывающегося псевдо-IDE-с-плагинами-которые-никто-не-использует?

Попробуй более серьёзные инструменты интегрированного программирования - Eclipse и NetBeans.

iZEN ★★★★★
()
Ответ на: комментарий от RazrFalcon

Да, но хоть интерфейс не процессор отрисовывает.

xcariba ★★
()

Использузую IDEA каждый день по работе, но со Scala. На маке, винде и линуксе. Все работает нормально. Правда, у меня памяти по-больше. Думаю, дело в плагине.

А с английским на скрине не очень

dave ★★★★★
()
Ответ на: комментарий от RazrFalcon

Дык та же жаба.

Это не просто жаба тормозит, тормозит либо gc из-за недостаточного heap size, и он постоянно удаляет мало живущие объекты. Либо плагин так написан, потому смена ide и вместе с ним плагина помочь может.

Aber ★★★★★
()
Ответ на: комментарий от dave

А с английским на скрине не очень

Вы про комменты в коде? Как могу...

RazrFalcon ★★★★★
() автор топика
Ответ на: комментарий от Aber

Есть какой-то проект на java на гитхабе, который я мог бы протестить?

Первый попавшийся используется gradle и idea не хочет его импортировать.

Я java мире - 0.

RazrFalcon ★★★★★
() автор топика
Ответ на: комментарий от Aber

Так в том то и дело, что это самый навороченный.

VSCode тоже тормозит. Плагин для Eclipse я не осилю собрать.

RazrFalcon ★★★★★
() автор топика
Ответ на: комментарий от RazrFalcon

Всегда создаю gradle/maven проекты а затем их импортирую в idea/eclipse, ищи в меню кажись import. Обе ide поддерживают импорты, а на гитхабах и в прочих vcs обычно файлы специфичные ide не заливают, плохой тон. У каждого разработчика могут быть свои специфичные предпочтения в ide.

Aber ★★★★★
()
Ответ на: комментарий от RazrFalcon

Установил. Начал редактировать то же место, что и ты.

Создал интовую переменную, меняю ее значение. Каждый раз, когда меняю значение и нажмаю ctrl+S (или Идея нажимает автоматически, когда перестаешь писать) - сжирается 40% процессора.

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

Переключаюсь в раст, смотрю запускается ли rustc при сохранении файла. НЕ запускается.

Предполагаю, что твой плагин просто выполняет полный код-анализ всего проекта каждый раз при сохранении. И написан этот код-анализ не то чтобы быстро.

А происходит это, скорей всего, потому что разрабы плагина еще не озаботились реализацией инкрементального анализатора и компилятора, который имеется для других языков

Напейши разработчикам плагина, пусть ответят за дела рук своих :)

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от fornlr

Древний весьма средний процессор 2012 года и 8 ГБ ОЗУ - это как-то не смешно.

Разогнанный Skylake i7-6700К сей плагин точно так же грузит на 60%

Скорей всего там определенное количество работы по анализу синтаксиса, и он выжирает проц насколько джава и ядро позволяют, а позволяют на 60%. Просто на свежем проце эта загрузка будет короткой по времени, а на древнючем придется пойти скипятить чаю.

Пару минут пописал, полностью понимаю ТСа, вентиляторы на моей пекарне воют в такт набиванию кода

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от RazrFalcon

Ну как бы да :) Установка oracle java сводится к тому, что нужно скачать tar и распаковать его в понравившуюся директорию. Но стоп, я сейчас запустил eclipse oxygen и в marketplace нашел плагин. Все уже готово, ничгое собирать ненужно: Help-> Eclipse Marketplace -> поиск: Rust -> RustDT -> install.

Aber ★★★★★
()
Ответ на: комментарий от Aber

Тю, в репе плагина об этом не сказано. Сразу описание сборки. Попробую.

Выше пишут, что это не только у меня такая беда. Нужно разрабам написать.

RazrFalcon ★★★★★
() автор топика
Ответ на: комментарий от stevejobs

Спасибо. Тогда накатаю им багрепорт, ибо у меня и без сохранения тормозит. Просто удаляю букву любую и снова добавляю.

RazrFalcon ★★★★★
() автор топика
Ответ на: комментарий от stevejobs

Скорей всего там определенное количество работы по анализу синтаксиса, и он выжирает проц насколько джава и ядро позволяют

Ахаха, жаба подавилась растишкой! IDE не будет, как и ожидалось. Всем ржавым в блокнот!

anonymous
()
Ответ на: комментарий от stevejobs

Просто на свежем проце эта загрузка будет короткой по времени

Со времен Sandy Bridge никаких существенных изменений в процессорах интел не было. По бенчмаркам видно. Конечно добавили новых avx инструкций и запилили более удачное графическое ядро. Но никакого буста производительности между Sandy Bridge и Kaby Lake нету, а та что есть, только от роста частоты.

Aber ★★★★★
()
Ответ на: комментарий от anonymous

Если тормоза в десятки процентов то ок, можно размышлять о тормозах jvm, но если тормоза на порядки (в десятичной системе), то это косяк писавших код.

Aber ★★★★★
()
Ответ на: комментарий от RazrFalcon

ты не просто добавляешь букву, а добавляешь и ждешь. В этот момент включается автосохранение, и должен бы запускаться инкрементальный анализ (если он существует, но в данном случае, скорей всего, нет)

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

ты не просто добавляешь букву, а добавляешь и ждешь.

Нет. Тупо быстро пишу.

RazrFalcon ★★★★★
() автор топика
Ответ на: комментарий от RazrFalcon

Склонировал svgcleaner, индексация + скачивание зависимостей заняло секунд 20-30. Автодополнение чуток лагает (миллисекунд 200-400), но в целом особо тормозов не приметил. Но, как уже говорил выше у меня сейчас i7-7700HQ, 16 GiB RAM и NVMe.

Тяжелые (1M SLOC) java-проекты индексируются на этой железке раз в 5-10 быстрее чем на старом x220 с i5-2520M, 16 GiB RAM и плексом. И на автодополнении так не лагают.

Так что надо грешить на плагин, боюсь. Сильно профилировать лень, но, навскидку, довольно много времени тратится в highlighter'е, резолвинге definition'ов и всяких штуках типа работы с definition'ами параметров. Я плагины к idea не пишу, потому сложно сказать насколько и что там можно пооптимизировать, чему нормально жрать прилично времени, а чему — нет.

grossws
()

Дефолтные настройки IDEA всегда в первый день предлагается выбросить на помойку. Поставь себе -Xmx повыше, хотя бы -Xmx2G

vertexua ★★★★★
()
Ответ на: комментарий от RazrFalcon

Самая лучшая поддержка проектов на Gradle и Maven в NetBeans IDE 8.2 - она открывает такие проекты, не чувствуя, что не справится.

iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от RazrFalcon

Zero latency typing включен? Я вообще пользуюсь ideavim и поэтому могу не просто замечать лага при наборе. Сейчас проверил без ideavim и тоже не вижу лагов при наборе кода на svgcleaner.

grossws
()
Ответ на: комментарий от Aber

Тем, что это не IDE. Плюс там на днях что-то сломали или в плагине или в racer и стало тормозить редактирование строковых литералов.

Ну и там подсветка на регулярках, что уныло.

RazrFalcon ★★★★★
() автор топика
Ответ на: комментарий от RazrFalcon

Попробуйте ctrl+alt+shift+/, там в пункте registry найти свойство editor.zero.latency.rendering (достаточно ввести zero, оно найдёт) и проверить включено ли оно.

grossws
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.