LINUX.ORG.RU

Arch linux / Notion wm / Ranger / zsh / urxvt / ncmpcpp

 , , , ,


3

2

Ничего необычного, просто решил залить скриншот.

Дистрибутив :: Arch linux
Window Manager :: Notion wm
File manager :: Ranger
Shell :: zsh
Terminal emulator :: urxvt
Music player :: mpd + ncmpcpp

Dotfiles :: https://github.com/neg-serg/dotfiles

Правда ranger'ом я почти никогда не пользуюсь.

Ради эксперимента поставил lqx ядро. Разницы в скорости не заметил.

Linux unreal 3.16.5-1-lqx #1 ZEN SMP PREEMPT Thu Oct 16 16:49:49 MSK 2014 x86_64 GNU/Linux

Скриншот с вимом: http://i.imgur.com/pvjJvsG.png

>>> Просмотр (1920x1200, 928 Kb)

★★★★★

Проверено: JB ()
Ответ на: комментарий от andreyu

Я раньше использовал clang_complete - он тормозил гораздо меньше, чем ycm

Да никогда он меньше его не тормозил, всё наоборот.

NeoBundle 'SirVer/ultisnips'
NeoBundle 'honza/vim-snippets'

Попробуйте отключить что-то из этого или оба. Вообще они тоже ставят автокоманды. Насколько я помню корректно с ycm работает только ultisnips.

NeoBundle 'vim-scripts/Conque-GDB.git'

Вы его используете?) Я как-то ставил, но потом понял, что это «не нужно»(С).

Попробуйте вообще для теста отключить всё что ниже комментария «very useful или поотключать разные опции в конфиге методом дихотомии. Вообще странно что профайлер не показывает, у меня когда была задержка, он прям так её и выдает, около секунды. Притом тормозов там всё равно нет.

Это целиком ide?

Ага. С его помощью можно понять какую производительность комплитера можно считать приемлимой(на мой взгляд). И какая должна быть/есть у меня с ycm. На самом деле очень хорошая, жаль только нет хорошего редактора :)

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

Попробуйте отключить что-то из этого или оба. Вообще они тоже ставят автокоманды. Насколько я помню корректно с ycm работает только ultisnips.

honza/vim-snippets - это набор сниппетов для ultisnips.

Немного ускорилась работа после того, как я убрал такой код:

autocmd Syntax cpp call EnhanceCppSyntax()

function! EnhanceCppSyntax()
    syn match    cCustomParen    "(" contains=cParen contains=cCppParen
    syn match    cCustomFunc     "\w\+\s*(" contains=cCustomParen
    syn match    cppCustomScope    "::"
    syn match    cppCustomClass    "\w\+\s*::" contains=cCustomScope
    hi def link cCustomFunc  Function
endfunction

Заменил set completeopt=menu,menuone,longest на set completeopt=menuone

И закомментил все set statusline+=

Но все равно тормоза напрягают, хотя слайдшоу 2-4 секунды уже нет.

NeoBundle 'vim-scripts/Conque-GDB.git'

Вы его используете?) Я как-то ставил, но потом понял, что это «не нужно»(С).

Неа, пользуюсь консольным gdb :) Я убирал этот плагин - ничего не изменялось.

Попробуйте вообще для теста отключить всё что ниже комментария «very useful или поотключать разные опции в конфиге методом дихотомии

Отключал все, кроме tpope/vim-fugitive - разницы не видно.

Ага. С его помощью можно понять какую производительность комплитера можно считать приемлимой(на мой взгляд).

Скачал clion, настроил нужные пути в cmakelist.txt. Ни при редактировании, ни при комплишне тормозов нет. Работает шустро. Что удивительно - почти все ява-приложения у меня вызывают рвотные позывы из-за тормозов (та же android studio тормозит ужасно). Если я правильно понимаю, то clion и android studio базируются на одной кодовой базе.

И какая должна быть/есть у меня с ycm.

До скорости clion рвет мой ycm как тузик грелку.

При запуске vi ~/.vimrc с подключенным ycm, запускается пистон2, который отжирает 600+ мб памяти. Почему?

$ psf python
andrey   18936  5.6 18.3 3186076 744700 ?      Ssl  16:45   0:01          |                   \_ /usr/bin/python2 /home/andrey/configs/config-vim/.vim/bundle/YouCompleteMe python/ycm/../../third_party/ycmd/ycmd --port=38250 --options_file=/tmp/tmpfChAH4 --log=info --idle_suicide_seconds=10800 --stdout=/tmp/ycm_temp/server_38250_stdout.log --stderr=/tmp/ycm_temp/server_38250_stderr.log

Если загрузить небольшой проект, то пистон2 отожрет уже больше гигабайта.

На самом деле очень хорошая, жаль только нет хорошего редактора :)

При первом запуске clion предложил мне установить какой-то вим-подобный плагин. ;)

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

При запуске vi ~/.vimrc с подключенным ycm, запускается пистон2, который отжирает 600+ мб памяти. Почему?

У меня тоже самое, работает всё ок.

Немного ускорилась работа после того, как я убрал такой код

Возможно для подсветки стоит попробовать vimlight или что-то ещё чтобы использовало clang, делают они это быстро, но похоже что вим для этого фигово предназначен, так что я убрал. Кстати в той же idea такой сложной подсветки нет, так что и фиг с ней. Но куда быстрее этих костылей.

Если я правильно понимаю, то clion и android studio базируются на одной кодовой базе.

На самом деле идею писали хорошие программисты. Ну да, там по сути это почти одно и то же, только для c++, используется clang, gdb и cmake

При первом запуске clion предложил мне установить какой-то вим-подобный плагин. ;)

К сожалению оно не может даже блочное редактирование. В общем совсем не то. Ах да, именно в emacs'е оно более-менее есть, evil называется. Только вот скорость его от навешивания той же фигни что и на вим страдать начинает точно так же. То есть мгновенного отклика всё равно не получишь, увы.

Предлагаю продолжить научный тык в комментировании строк вима. Авось так и найдется паразит.

Можно предположить, что проблема возникает при построении/работе с compilation_database(или как там её). Попробуйте использовать вот этот конфиг http://sprunge.us/DHjf и https://github.com/rizsotto/Bear

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

Вот как это работает у меня. Там секунды бегают, видно.

https://yadi.sk/d/-mGIBD6BcaL7

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

На самом деле идею писали хорошие программисты. Ну да, там по сути это почти одно и то же, только для c++, используется clang, gdb и cmake

Обновился до последней android studio - тормозная, падла, до ужаса. Запуск долгий, интерфейс лагающий. Создал проект play game services - все тормозит ужасно.

Ах да, именно в emacs'е оно более-менее есть, evil называется.

Про это знаю, но ни одна попытка пересесть на emacs не удалась. Вим для меня гораздо удобнее.

Предлагаю продолжить научный тык в комментировании строк вима. Авось так и найдется паразит.

Продолжу эксперименты, тем более, что от недосыпания работа идет плохо.

Попробуйте использовать вот этот конфиг http://sprunge.us/DHjf

Угу, попробую.

и https://github.com/rizsotto/Bear

А что с этим делать?

https://yadi.sk/d/-mGIBD6BcaL7

"
Ничего не найдено
Возможно, владелец удалил файлы или закрыл к ним доступ.
А может быть, вам досталась ссылка с опечаткой.
"

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

" Ничего не найдено Возможно, владелец удалил файлы или закрыл к ним доступ. А может быть, вам досталась ссылка с опечаткой. "

https://yadi.sk/d/-mGIBD6BcaL7z

А что с этим делать?

Суть этой фигни, что после установки, например если у вас make, то bear — make и оно составит compilation_database.json, потом по ней автоматически схватятся нужные параметры через конфиг ycm.

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

https://yadi.sk/d/-mGIBD6BcaL7z

У вас работает все отлично.

Суть этой фигни, что после установки, например если у вас make,

Использую make, для запуска cmake.

то bear — make и оно составит compilation_database.json, потом по ней автоматически схватятся нужные параметры через конфиг ycm.

Сейчас попробую.

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

Не осилил я настройку. Что сделал:

1. Убрал дефольтный .ycm_extra_conf.py и закомментил переменную в конфиге вима, которая на него ссылалась.

2. Поместил .ycm_extra_conf.py, который вы дали ранее в корень проекта.

3. Собрал и установил bear, пересобрал с его помощью проект (bear — make). В текущей директории создался compile_commands.json.

Комплишн работает, но тормоза остались - жму tab (или up / down) перемещаюсь по списку с большими тормозами.
Но сам список формируется и появляется гораздо быстрее, чем раньше.

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

Нашел из-за чего тормозит ycm. Удаление этих опций чудесным образом «ускоряет» ycm

set foldmethod=syntax   " folds defined by syntax highlighting
set foldlevelstart=10

Я весьма удивлен.

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

Вот это да! Мне кажется это повод для багрепорта. Ах да, есть предположение, что это тормоза pmenu как такового, а не ycm.

Да, скорее всего, это не проблема ycm. Уже несколько часов вожусь с достаточно большим проектом и пока тормозов не замечал. Доволен как слон.
Спасибо за помощь!

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