рдЖрд░рд╡реАрдПрдо (рд░реВрдмреА рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдмрдВрдзрдХ) рдХреЛ рддрддреНрдХрд╛рд▓ рдЕрдкрдбреЗрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ

рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдХрдИ рд░реВрдмреА рдмреНрд▓реЙрдЧ, рд╕рдореБрджрд╛рдпреЛрдВ рдФрд░ рд╣рдм рдкрд░ , рдХрдИ рдкреЛрд╕реНрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЖрд░рд╡реАрдПрдо рд░реВрдмреА рдПрдордЖрд░рдЖрдИ рд╕рдВрд╕реНрдХрд░рдг (рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рднрд╛рд╖рд╛ рджреБрднрд╛рд╖рд┐рдпрд╛) рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреБрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдЬреАрд╕реАрд╕реА рд╕рдВрдХрд▓рдХ рдЕрдиреБрдХреВрд▓рди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдЗрд╕ рдмреАрдорд╛рд░реА рдХреЗ рд▓рд┐рдП "рджрд╡рд╛рдПрдВ" рдереАрдВ, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдкреЗрди рдХреЗ рд╕рд╛рде рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛, рдФрд░ рдХрд╛рдлреА рд╕реАрдзрд╛ред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рд╕рднреА рдХреЛ рдЦреБрд╢ рдХрд░рдиреЗ рдХреА рдЬрд▓реНрджрдмрд╛рдЬреА рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрд░рд╡реАрдПрдо (рд╕рдВрд╕реНрдХрд░рдг 1.17.0 рд╕реЗ рд╢реБрд░реВ) рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рдЧрдИ рд╣реИ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмреЗрд╣рддрд░ рдХреЗ рд▓рд┐рдП, рдЕрдм рдЖрдк рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд░реВрдмреА рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдмрдВрдзрдХ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рд╣реИред

рдЬреЛ рд▓реЛрдЧ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдХреИрд╕реЗ рднреВрд▓ рдЧрдП рд╣реИрдВ, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ред
рд╣рдо рдЯрд░реНрдорд┐рдирд▓ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
$ rvm get stable 

рдЖрд░рд╡реАрдПрдо рд╕реНрд╡рдпрдВ рдХреЗ рдирд╡реАрдирддрдо рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЦреАрдВрдЪрддрд╛ рд╣реИ, рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрджреНрдпрддрди рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдорд╛рдирдХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреИрдХреЗрдЬ рдХреЗ рд▓реЗрдЦрдХ рдХреБрдЦреНрдпрд╛рдд рд╡реЗрди рд╕реЗрдЧрд┐рди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдЖрд░рд╡реАрдПрдо рдЕрдкрдбреЗрдЯ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рд░реВрдмреА рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдПрдордЖрд░рдЖрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛ рдмреЗрд╣рддрд░ рдЕрднреА рддрдХ, рдмрд╛рдж рд╡рд╛рд▓реЗ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдЗрд╕ рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рдирд╡реАрдирддрдо рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ: рдЖрд░рд╡реАрдПрдо - 1.17.2 рдФрд░ рд░реВрдмреА - 1.9.3-рдкреА 327 ред рдЖрд░рд╡реАрдПрдо рдХреЗ рд╕рд╛рде рд░рд┐рдХреЙрдореНрдмрд╛рдЗрд▓рд┐рдВрдЧ рд░реВрдмреА рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:
 $ rvm reinstall 1.9.3 

рддрд╛рдЬрд╝рд╛ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдмреА рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд░рди рдХрд░реЗрдВ:
 $ rvm use 1.9.3 --default 

рдкреНрд░реЛрд╕реЗрд╕рд░ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрд░рд╡реАрдПрдо рдЕрдм рдордЬрд╝реЗрджрд╛рд░-рдлрд╛рд▓реНрдХрди рдкреИрдЪ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕рднреА рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд░рдЦрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рдореМрдЬреВрдж рд╣реИред рдкреНрд░рджрд░реНрд╢рди рд▓рд╛рдн рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдореЗрд░реЗ рдЗрдВрдЯреЗрд▓┬о рдХреЛрд░ (рдЯреАрдПрдо) рдкрд░ i5-2320 рд╕реАрдкреАрдпреВ @ 3.00GHz рдЙрдмрдВрдЯреВ 12.04 рдХреЗ рддрд╣рдд рдЪрд╛рд░ рдЧреАрдЧрд╛ рд░реИрдо рд╣реИ, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ:

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ (RVM - 1.16.17, рд░реВрдмреА - 1.9.3-p286)
 $ time ruby -e "count = 0; while(count < 100000000); count = count + 1; end; puts count" 100000000 real 0m5.303s user 0m5.244s sys 0m0.016s 

рдмрд╛рдж (рдЖрд░рд╡реАрдПрдо - 1.17.2, рд░реВрдмреА - 1.9.3-p327)
 $ time ruby -e "count = 0; while(count < 100000000); count = count + 1; end; puts count" 100000000 real 0m1.940s user 0m1.932s sys 0m0.004s 

рдЦреИрд░, рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ - рд╣реИрдкреНрдкреА рд╣реИрдХрд┐рдВрдЧ!

рдЕрджреНрдпрддрди: рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ 10.6 рдФрд░ рдЙрдЪреНрдЪрддрд░ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдПред
рд░реВрдмреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп рд╕реНрдкрд╖реНрдЯ рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ --with-gcc=clang рд╡рд┐рдХрд▓реНрдк, --with-gcc=clang рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:
 $ rvm reinstall 1.9.3 --with-gcc=clang 

рдЗрд╕ рдЯрд┐рдк рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд╛рдпрд░рд╕рдореИрди рдХрд╛ рдзрдиреНрдпрд╡рд╛рджред

Source: https://habr.com/ru/post/In162533/


All Articles