После годину дана развоја објављено је издање Руби 2.6.0, динамички објектно оријентисани програмски језик, који се одликује високом ефикасношћу развоја софтвера и укључује најбоље карактеристике Перл, Јава, Питхон, Смаллталк, Еиффел, Ада и Лисп.
Код пројекта дистрибуира се под БСД лиценцама („БСДЛ са 2 клаузуле“) и „Руби“, који се односи на најновију ГПЛ лиценцу и у потпуности је у складу са ГПЛв3.
Руби 2.6 је шеста главна верзија, припремљен као део планираног развојног процеса, који укључује одвајање године за припрему функционалних побољшања и стварање корективних верзија свака 2-3 месеца.
Главне нове функције у Руби 2.6.0
Са овим новим издањем Руби додао експерименталну имплементацију ЈИТ компајлера, што вам омогућава да значајно побољшате перформансе апликација на језику Руби.
За разлику од традиционалних ЈИТ компајлера, који генеришу машинске инструкције у лету, предложени ЈИТ компајлер у Руби прво записује Ц код на диск, а затим позива спољни Ц компајлер да генерише машинске инструкције (подржани ГЦЦ, Цланг и Мицрософт ВЦ ++).
Да бисте омогућили ЈИТ, морате навести опцију „–јит“ приликом покретања руби-а или поставити ову опцију у променљивој окружења РУБИОПТ.
У поређењу са Руби 2.5, укључивање ЈИТ-а у просеку је 1.7 пута веће од перформанси ЦПУ интензивних апликација.
У исто време, развој је и даље експерименталан и неприкладан за оптерећења повезана са интензивно меморијским радом.
Друга побољшања која су добијена у овој верзији је РубиВМ :: АбстрацтСинтакТрее експериментални модул, који пружа метод рашчлањивања који обрађују прослеђене низове као Руби код и враћа апстрактно синтаксно стабло (АСТ) за овај код.
Сада се псеудоним "# тхен" може користити за приступ методи "Кернел # ииелд_селф". За методе "Арраи # |" и „Арраи # -“ је предложио читљивије псеудониме „Арраи # унион“ и „Арраи # Дифференце“.
Константна имена сада могу почињати великим словима која нису АСЦИИ.
Подршка је такође обезбеђена за Привремену гомилу, намењену објектима са кратким животним веком користећи одређене класе (Арраи, Хасх, Објецт, Струцт).
На пример, захваљујући тхеап-у, стварање малих краткотрајних постојећих хеширања сада је двоструко брже. Рдоц тест показао је повећање приноса за 6-7%.
Да би се повећале перформансе пребацивања контекста, предложене су нативне примене потпрограма за архитектуре арм32, арм64, ппц64ле, вин32, вин64, к86 и амд64. „Фибер.ииелд“ и „Фибер # ресуме“ на 64-битним Линук системима сада раде готово пет пута брже.
Генерално, интензивни програми показују пораст перформанси за 5%.
Главна побољшања у Руби 2.6.0
Примљена је ажурирана верзија РубиГемс 3.0.1, у којем је укинута подршка за опције „–ри“ и „–рдоц“, уместо које треба да користите „–доцумент“ и „–но-доцумент“.
Бундлер је сада подразумевано инсталиран за управљање зависностима од драгуља.
Додата је подршка за недовршене опсеге, на пример, „ари [1 ..]“ или „(1 ..). Свака {…} ».
Од осталих побољшања која се могу истакнути, можете пронаћи:
- Опција изузећа додата је у системску методу Кернел # да би се покренуо изузетак због грешке уместо да врати фалсе.
- Онехот режим је био додато модулу покривености, који проверава да ли се сваки ред извршава бар једном.
- Класа Енумератор :: Цхаин и у њој примењене методе "Енумерабле # цхаин" и "Енумератор # +" додају се за стварање ланаца побројаних вредности.
- Подршка за операторе «<<» и «>>» додата је модулима Проц и Метход, на пример, конструкција «(ф << г) .цалл (3)» је идентична са «ф (г (3 )) ".
Како инсталирати Руби 2.6.0 на Линук?
Да бисте добили ову нову верзију Руби-а, само отворите терминал на систему и откуцајте једну од следећих команди
Дебиан, Убунту и деривати
sudo apt-get install ruby-full
ЦентОС, Федора и РХЕЛ
sudo yum install ruby
Гентоо
sudo emerge dev-lang/ruby
Арцх Линук, Мањаро, Антергос и деривати
sudo pacman -S ruby
openSUSE
sudo zypper install ruby
Команде апт-гет иум итд иду у подразумевана спремишта дистрибуција, која су углавном стара и нећете имати верзију 2.6 већ другу стару верзију.