Tika notika mruby 3.0, ievietojamÄ dinamiskÄ objektorientÄtÄ programmÄÅ”anas valodas Ruby interpretera izlaidums. Mruby nodroÅ”ina sintakses saderÄ«bu ar Ruby 1.9, taÄu atbalsta arÄ« atseviŔķas iespÄjas no jaunÄkÄm versijÄm. Interpretera atŔķirÄ«ga iezÄ«me ir zems atmiÅas patÄriÅÅ” un iespÄja to integret citÄs lietotnÄs. TurklÄt ir atbalstÄ«ta Ruby programmu kompilÄcija baitu kodÄ, izmantojot projekta izstrÄdÄto kompilatoru "mrbc". Mruby kods tiek izplatÄ«ts saskaÅÄ ar MIT licenci.
JaunajÄ laidienÄ ir ievÄrojami samazinÄts atmiÅas patÄriÅÅ”, ko izmanto mruby VM. IepriekÅ”ÄjÄs versijas prasÄ«ja vairÄkas simtiem KB operatÄ«vÄs atmiÅas, bet mruby 3.0 patÄrÄ apmÄram 100 KB RAM. Galvenie uzlabojumi:
- SamazinÄts operatÄ«vÄs atmiÅas patÄriÅÅ”, optimizÄjot atmiÅas pieŔķirÅ”anu Symbols klases objektiem. SamazinÄts atmiÅas patÄriÅÅ” Hash klases objektiem. Veiktas optimizÄcijas metožu izsaukumiem.
- Pievienots atbalsts vienas rindas metodes definÄ«cijai bez atslÄgvÄrda "end": def square(x) = x * x
- Pievienota operators "=>" (vÄrtÄ«bas => mainÄ«gais), kas tiek izmantots labajÄ pusÄ vÄrtÄ«bu pieŔķirÅ”anai. 0 => a p a #=> 0 {b: 0, c: 1} => {b:} p b #=> 0
- Atbalsts heredocs konstrukcijai.
- Tika atjauninÄti interpretera apkopoÅ”anas faili. Pievienota kompilÄcija ar gprof. GCC tagad var apkopot 32 bitu režīmÄ uz 64 bitu platformÄm. Pievienots atbalsts Address Sanitizer ar clang.
- MaiÅa, kas pÄrkÄpj saderÄ«bu: konstance RITE_VM_VER tagad ir 0300, un RITE_BINARY_FORMAT_VER ā 0200, kas izslÄdz iespÄju izpildÄ«t baitu kodu no iepriekÅ”ÄjÄm versijÄm.
- Fixnum klase kļuva par Integer daļu, tÄpat kÄ Ruby 3.0. DzÄsta Integral klase.
Avots: opennet.lv
