Ruby 2.6.1 va accélérer Discourse !

J’ai étudié les performances générales aujourd’hui et j’ai été très agréablement surpris de constater que la nouvelle version de Ruby (2.6.1) réduit à la fois l’utilisation de la mémoire et accélère Discourse.

En particulier, en examinant Discourse bench :

L’utilisation de la mémoire RSS passe de 293332 à 262140 octets !

Temps de requête médian

route 2.5.3 (ms) 2.6.1 (ms) changement
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 %

75e percentile

route 2.5.3 2.6.1 changement
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 %

90e percentile

route 2.5.3 2.6.1 changement
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 %

99e percentile

route 2.5.3 2.6.1 changement
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 %

Nous allons mettre un peu de temps avant de passer à la version 2.6.1 ; nous passerons probablement au nouveau système dans 2 à 3 mois. Nous devons également valider ces résultats sur rubybench.org. Cela dit, ces premiers résultats sont incroyablement prometteurs.

Nous nous attendrons généralement à une amélioration de 7 %, mais une requête sur 100 subira un ralentissement de 15 à 40 %. Mon interprétation des résultats est que le runtime est devenu plus rapide, mais que le temps de garbage collection majeur est devenu un peu plus lent.

37 « J'aime »