Ruby 2.6.1 vai acelerar o Discourse!

Hoje estive investigando o desempenho geral e fiquei muito agradavelmente surpreso ao ver que a nova versão do Ruby (2.6.1) reduz tanto o uso de memória quanto acelera o Discourse.

Em particular, analisando o Discourse bench:
O RSS foi reduzido de 293332 para 262140 bytes!

Tempo mediano de solicitação

route 2.5.3 (ms) 2.6.1 (ms) change
categories 41 39 4.88%
home 46 43 6.52%
topic 54 48 11.11%
categories_admin 70 65 7.14%
home_admin 72 67 6.94%
topic_admin 82 77 6.10%

Percentil 75

route 2.5.3 2.6.1 change
categories 42 41 2.38%
home 50 46 8.00%
topic 59 51 13.56%
categories_admin 75 76 -1.33%
home_admin 78 77 1.28%
topic_admin 85 83 2.35%

Percentil 90

route 2.5.3 2.6.1 change
categories 49 52 -6.12%
home 56 56 0.00%
topic 62 61 1.61%
categories_admin 82 81 1.22%
home_admin 84 82 2.38%
topic_admin 93 92 1.08%

Percentil 99

route 2.5.3 2.6.1 change
categories 58 81 -39.66%
home 81 108 -33.33%
topic 76 88 -15.79%
categories_admin 105 132 -25.71%
home_admin 115 132 -14.78%
topic_admin 123 142 -15.45%

Levará um pouco de tempo antes de atualizarmos para a versão 2.6.1; provavelmente faremos a transição em 2 a 3 meses. Também ainda precisamos validar esses resultados no rubybench.org. Dito isso, esses resultados iniciais são incrivelmente promissores.

Geralmente, esperamos uma melhoria de 7%, no entanto, 1 a cada 100 solicitações sofrerá uma lentidão de 15-40%. Minha interpretação dos resultados é que o runtime ficou mais rápido, mas o tempo do GC (coleta de lixo) principal tornou-se um pouco mais lento.

37 curtidas