Медленная инициализация RVM с помощью cygwin на 64-битной машине - PullRequest
1 голос
/ 24 января 2011

Я представляю, что это может вызвать у меня затруднения из-за того, что я задаю такой неконкретный вопрос, но я впадаю в отчаяние в этот момент. Я использую Cygwin (я зависим от bash) на компьютере с Windows 7 с огромной памятью и скоростью процессора. По какой-то причине, когда я что-то делаю с RVM, я получаю задержку в 30 секунд, прежде чем это произойдет. Это включает, но не ограничивается использованием rvm, переход в каталог, в котором находится RVM, и фактическое возвращение OUT этих каталогов.

Когда происходит такая огромная задержка, я получаю самую безумную разветвленность bash в моем проводнике процессов. Процессы bash отключаются, а затем быстро исчезают в течение 30 секунд. Я не могу понять, как на самом деле копаться в этом и посмотреть, что происходит.

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

спасибо заранее и будьте нежны:)

Ответы [ 2 ]

0 голосов
/ 07 апреля 2011

Поскольку Windows не имеет собственного эквивалента fork, cygwin должен эмулировать его, поэтому он, вероятно, будет намного медленнее, чем в реальной ОС Unix.

См. Эту ветку: http://cygwin.com/ml/cygwin/2008-05/msg00360.html

Также, по крайней мере, один человек сообщил, что разветвление на cygwin 1.7 медленнее, чем 1.5: http://cygwin.com/ml/cygwin/2010-09/msg00871.html

Требуется ли для разработки Windows, или вместо этого вы можете выполнять свою работу на ВМ?

0 голосов
/ 24 января 2011

Работает ли это в Windows? Согласно FAQ , rvm не предназначен для работы в Windows. Вы должны использовать pik , чтобы получить аналогичное поведение в Windows (хотя он пропускает наборы гемов, он позволяет переключаться между версиями ruby, и с помощью pik у каждого rubyversion есть свой собственный набор гемов).

...