Ruby instalado no Ubuntu 10.10 lento em uma máquina, mas não em outra

5

Eu tenho uma máquina que foi provisionada há vários meses. O RVM foi usado para instalar o ruby 1.9.3-p125, assim como o 1.9.3-p125-perf. Quando comparei o desempenho bruto do rubi com outra máquina idêntica, a máquina antiga os fumava.

Por exemplo:

================================================================================
With in-block needle calculation
================================================================================
Rehearsal ----------------------------------------------
detect       3.790000   0.000000   3.790000 (  3.800895)
each         2.410000   0.000000   2.410000 (  2.420860)
any          3.960000   0.000000   3.960000 (  3.972099)
include      1.440000   0.000000   1.440000 (  1.442862)
------------------------------------ total: 11.600000sec

vs

================================================================================
With in-block needle calculation
================================================================================
Rehearsal ----------------------------------------------
detect      10.740000   0.000000  10.740000 ( 10.769366)
each         6.080000   0.010000   6.090000 (  6.106323)
any         10.600000   0.000000  10.600000 ( 10.641606)
include      4.160000   0.000000   4.160000 (  4.171530)
------------------------------------ total: 31.590000sec

Eu tentei reinstalar o 1.9.3-p125 com rvm na máquina rápida e esse ruby agora está lento . É como se algo mudasse no RVM, ou eu instalei algum pacote que fez versões compiladas do ruby terem um desempenho significativamente pior.

Eu sei que essa é uma pergunta difícil de responder, mas quais são as coisas que eu devo investigar para descobrir por que o desempenho sofreu tanto?

editar

Eu apenas tentei instalar com o ruby-build e a versão instalada foi rápida. Algo que o rvm está fazendo para construí-lo no meu ambiente é lento.

    
por Aaron Jensen 26.10.2012 / 10:13

1 resposta

3

O problema tem a ver com alguns dos padrões que o RVM usa. Duas coisas fazem uma grande diferença, --disable-shared e --patch cflags.patch

O cflags.patch existe apenas para 1.9.3-p194 e p286 e é automaticamente adicionado agora.

rvm get head && rvm reinstall 1.9.3-p194 --disable-shared --debug

Você deve ver o cflags.patch sendo aplicado.

Se você quiser o patch de falcão também, você precisa fazer:

rvm get head && rvm reinstall 1.9.3-p194-perf --patch cflags.patch --patch falcon.diff --disable-shared --debug

Informações de: link

    
por 26.10.2012 / 10:48

Tags