Ширкати Oracle
GraalVM
- Мутобиқат бо Node.js 12.10.0 таъмин карда мешавад;
- Хусусиятҳо ва функсияҳои глобалии ғайристандартӣ бо нобаёнӣ хомӯш карда мешаванд:
глобалӣ (бо globalThis иваз карда мешавад, гузоштани js.global-property барои бозгашт), иҷроиш (js.performance), чоп ва printErr (js.print); - Пешниҳоди муттаҳидсозии Promise.allSettled ва беэътибор, ки дар реҷаи ECMAScript 2020 дастрасанд (“-js.ecmascript-version=2020”);
- Вобастагии таҷдидшуда ICU4J ба 64.2, ASM ба 7.1.
- Нотаҳои иловашуда gc.{enable, disable,isenabled}, charmap_build, sys.hexversion ва _lzma амалӣ карда шуданд;
- Навсозии китобхонаи стандартии Python 3.7.8;
- Дастгирии иловашуда барои NumPy 1.16.4 ва Pandas 0.25.0;
- Дастгирии timeit иловашуда;
- socket.socket ба ҳолате оварда шудааст, ки ба шумо имкон медиҳад "graalpython -m http.server" -ро иҷро кунед ва захираҳои http-и рамзнашуда (бе TLS) бор кунед;
- Масъалаҳои собит бо намоиши объектҳои pandas.DataFrame.
коркарди нодурусти наворҳо дар bytes.startswith,
вайронкунии таъиноти итераторҳо ва истифодаи dict.__contains__ барои луғатҳо; - Дастгирии иловашуда барои ast.PyCF_ONLY_AST, ки
иҷозат дода шудааст боварӣ ҳосил кунед, ки pytest кор мекунад; - Илова карда шуд
дастгирӣ PEP 498 (интерполятсияи сатр бо литерал); -
Ба амал бароварда шуд парчами "--python.EmulateJython" барои ворид кардани синфҳои JVM бо истифода аз синтаксиси муқаррарии воридоти Python ва гирифтани истисноҳои JVM аз рамзи Python; - Фаъолияти беҳтаршудаи таҳлилгар, кэшкунии истисно,
дастрасӣ ба объектҳои Python аз рамзи JVM. Натиҷаҳои беҳтаршуда дар санҷишҳои иҷроиш барои коди python ва васеъшавии маҳаллӣ (иҷрои васеъшавии маҳаллӣ дар болои llvm маънои онро дорад, ки llvm bitcode ба GraalVM барои тартиб додани JIT интиқол дода мешавад).
- Барои тартиб додани васеъшавии маҳаллӣ, ҳоло асбоби дарунсохташудаи LLVM истифода мешавад, ки ҳам рамзи модарӣ ва ҳам биткодро эҷод мекунад. Ин маънои онро дорад, ки васеъшавии бештари ватанӣ бояд аз қуттӣ тартиб дода, аксари масъалаҳои пайвасткуниро бартараф кунанд;
- Насби алоҳидаи LLVM барои насб кардани васеъшавии маҳаллӣ дар TruffleRuby;
- Насб кардани васеъшавии C++ дар TruffleRuby дигар насби libc++ ва libc++abiро талаб намекунад;
- Иҷозатнома ба EPL 2.0/GPL 2.0/LGPL 2.1, ҳамон тавре ки JRuby-и охирин навсозӣ шудааст;
- Дастгирии иловагӣ барои далелҳои ихтиёрӣ ба GC.stat;
- Усули Kernel#load бо печанда ва Kernel#spawn бо :chdir;
- Иловаи rb_str_drop_bytes, ки хеле хуб аст, зеро OpenSSL онро истифода мебарад;
- Васеъ кардани ганҷҳои қаблан насбшуда, ки барои релсҳои нав дар Rails 6 лозиманд;
- Барои тартиб додани васеъшавии маҳаллӣ, парчамҳо истифода мешаванд, чуноне ки дар MRI;
- Иҷрои кор оптимизатсия карда шуд ва истеъмоли хотира кам карда шуд.
- Мутобиқат бо R 3.6.1 таъмин карда мешавад;
- Дастгирии пешакӣ барои иҷро кардани васеъшавии маҳаллӣ дар асоси LLVM илова карда шуд. Ҳангоми сохтани бастаҳои аслии R, FastR барои истифодаи асбобҳои дарунсохташудаи LLVM GraalVM танзим карда мешавад. Файлҳои дуии натиҷавӣ ҳам рамзи аслӣ ва ҳам биткоди LLVM-ро дар бар мегиранд.
Бастаҳои қаблан насбшуда низ ҳамин тавр сохта мешаванд.
FastR ба таври нобаёнӣ рамзи васеъшавии модариро бор мекунад ва иҷро мекунад, аммо вақте ки бо опсияи "--R.BackEnd=llvm" оғоз мешавад, биткод истифода мешавад. Бозгашти LLVM метавонад ба таври интихобӣ барои баъзе бастаҳои R бо нишон додани "--R.BackEndLLVM=pkg1,pkg2" истифода шавад. Агар шумо ҳангоми насб кардани бастаҳо мушкилот дошта бошед, шумо метавонед бо занг задан ба fastr.setToolchain("native") ё таҳрири дастӣ файли $FASTR_HOME/etc/Makeconf ҳама чизро баргардонед; - Дар ин нашр, FastR бе китобхонаҳои вақти кории GCC интиқол дода мешавад;
- Ихроҷи хотираи собит;
- Мушкилоти ҳалшуда ҳангоми кор бо векторҳои калон (>1 ГБ);
- grepRaw амалӣ карда шуд, аммо танҳо барои fixed=T.
Манбаъ: opennet.ru