แแแแแแแแ Ruby 3.2.0, แแแแแแแฃแ แ แแแแแฅแขแแ แแ แแแแขแแ แแแฃแแ แแ แแแ แแแแ แแแแก แแแ, แ แแแแแแช แซแแแแแ แแคแแฅแขแฃแ แแ แแ แแแ แแแแก แจแแแฃแจแแแแแแจแ แแ แแแ แแแแแแแก Perl, Java, Python, Smalltalk, Eiffel, Ada แแ Lisp-แแก แกแแฃแแแแแกแ แแแฎแแกแแแแแแแแแก. แแ แแแฅแขแแก แแแแ แแแฌแแแแแแ BSD ("2-แแฃแแฅแขแแแแ BSDL") แแ "Ruby" แแแชแแแแแแแแก แฅแแแจ, แ แแแแแแช แแฎแแแ GPL แแแชแแแแแแก แฃแแฎแแแก แแแ แกแแแก แแ แกแ แฃแแแ แแแแกแแแแแแ GPLv3-แแแ.
แซแแ แแแแแ แแแฃแแฏแแแแกแแแแแ:
- แแแแแขแแแฃแแแ CRuby แแแ แฏแแแแแแก แกแแฌแงแแกแ แแแ แขแ, แ แแแแแแช แจแแแแแแแแแ WebAssembly-แแก แจแฃแแแแแฃแ แแแแจแ, แ แแแ แแแฃแจแแแก แแแ แแ แแฃแแแ แจแ แแ แแแแแฃแแแแแแแ แแแจแแแแแก แแ แแก, แ แแแแ แแชแแ wasmtime. แแแแ แแชแแฃแ แกแแกแขแแแแกแแแ แแแ แแแแแ แ แฃแ แแแแ แแฅแแแแแแแกแแแแก, แ แแแแกแแช แชแแแแ แแฃแจแแแแก, แแแแแแงแแแแแ WASI (WebAssembly System Interface) API. แกแฎแแ แกแแแแแฎแแแแแ แแ แแแ, WASI-แก แแแแแ แแ แแก VFS แกแแแแแแแแฃแแ, แ แแแแแแช แกแแจแฃแแแแแแก แแแซแแแแ แจแแคแฃแแแ แแแแแ แแแแแแแชแแ Ruby แแแแแ แฎแแแจแ แแ แแ wasm แคแแแแแก แกแแฎแแ. แแ แแฃแแแ แจแ แแแจแแแแ แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แกแแแแฃแ แแแ แแ แแแแ แแแ แกแแ แแแกแแแแก แจแแกแแฅแแแแแแ, แ แแแแ แแชแแ TryRuby. แแแแแแแแ แแแแก แแแแแแแแแแ แแขแแแแ แแแ แขแ แฌแแ แแแขแแแแ แแแแแก แกแแแแแแกแ แแ แฉแแขแแแ แแแแก แกแแขแแกแขแ แแแแแแแฅแขแก, แ แแแแแแช แแ แแงแแแแแก Thread API-แก. แแแ แขแก แแกแแแ แแ แแฅแแก แแแญแแแแแแก, แแแแแแแแแแกแแแแก แแ แแแแแแก แจแแแ แแแแแแก แแฎแแ แแแญแแ แ.
- แแแแแแแแ แ JIT แจแแแแแแแแแ YJIT, แ แแแแแแช แจแแแฅแแแ Shopify แแแแฅแขแ แแแฃแแ แแแแแ แชแแแก แแแแขแคแแ แแแก แแแแแแแแแ แแแแก แแแแ , Ruby แแ แแแ แแแแแแก แแฃแจแแแแแก แแแแ แแแก แแแแชแแแขแแแแก แคแแ แแแแแจแ, แ แแแแแแแช แแงแแแแแแ Rails แฉแแ แฉแแก แแ แฃแแแ แแ แแแแแแก แฃแฌแแแแแแ, แแแแแชแฎแแแแ แกแขแแแแแฃแ แแ แแ แแแแ. แฌแแ แแแแแแก แแแแแงแแแแแ. แแแแแแ แ แแแแกแฎแแแแแแ แแแ แ แแแแแงแแแแแฃแแ MJIT JIT แจแแแแแแแแแแกแแแ, แ แแแแแแช แแแคแฃแซแแแแฃแแแ แแแแแแแก แแแแฃแจแแแแแแแ แแ แแงแแแแแก แแแ แ C แแแแแแแแขแแ แก, แแ แแก แแก, แ แแ YJIT แแงแแแแแก Lazy Basic Block Versioning (LBBV) แแ แจแแแชแแแก แแแขแแแ แแ แแแฃแ JIT แจแแแแแแแแแก. LBBV-แแก แฌแงแแแแแแ, JIT แฏแแ แแแแแแแก แแฎแแแแ แกแแฌแงแแกแก แแแ แแแแแก, แแแแแ แฉแแแก แแ แแแ แแแแฃแแ แแ แแแก แจแแแแแ, แแแก แจแแแแแ แ แแช แจแแกแ แฃแแแแแก แแ แแก แแแแแงแแแแแฃแแ แชแแแแแแแแกแ แแ แแ แแฃแแแแขแแแแก แขแแแแแ แแแแแแแแแแ. YJIT แฎแแแแแกแแฌแแแแแแ x86-64 แแ arm64/aarch64 แแ แฅแแขแแฅแขแฃแ แแแแกแแแแก Linux, MacOS, BSD แแ แกแฎแแ UNIX แแแแขแคแแ แแแแแ.
CRuby-แกแแแ แแแแกแฎแแแแแแแ, YJIT แแแแ แแฌแแ แแแ Rust-แจแ แแ แแแแแฎแแแก rustc 1.58.0+ แจแแแแแแแแแก แแแแแแแแชแแแกแแแแก, แแแแขแแ YJIT แแแแแแแแชแแ แแแแฃแแแกแฎแแแแแ แแแแแ แแฃแแแ แแ แแ แฉแแแแแแ. YJIT-แแก แแแแแงแแแแแแกแแก แแแคแแฅแกแแ แแ แจแแกแ แฃแแแแแก 41%-แแแแ แแ แแ yjit-bench แขแแกแขแแก แแแจแแแแแกแแก แแแขแแ แแ แแขแแชแแแกแแแ แจแแแแ แแแแ.
- แแแแแขแแแฃแแแ แแแแแขแแแแแ แแแชแแ แแแแแแกแฎแแแแแกแแแ, แ แแแแแแแช แแฌแแแแแ แกแแ แแแกแแก แฃแแ แงแแคแแก แแแ แ แแแแแชแแแแแแก แแ แแแคแแฅแขแฃแ แ แแ แฎแแแแ แซแแแแ แ แแแฃแแแ แฃแแ แแแแแแแแฅแแแแแแแ (ReDoS) แแแแฃแจแแแแแแกแแก. แแแแจแแแแแแแแแ แแแฃแแฏแแแแกแแแฃแแแ แจแแกแแขแงแแแกแ แแแแแ แแแแ, แ แแแแแแช แแงแแแแแก แแแแแฎแกแแแ แแแแก แขแแฅแแแแแก. แแแแแแแแแ, แแแแแแฅแแแก แจแแกแ แฃแแแแแก แแ แ '/^a*b?a*$/ =~ "a" * 50000 + "x"' แจแแแชแแ แแ 10-แแแ 0.003 แฌแแแแแแ. แแแขแแแแแแชแแแก แคแแกแ แแ แแก แแแฎแกแแแ แแแแก แแแฎแแแ แแแแก แแ แแ, แ แแแแแก แแแฎแแแ แแแ แแแแฎแแแแแแ 10-แฏแแ แแฆแแแแขแแแ แจแแงแแแแแก แแแแแชแแแแแแก แแแแแก. แฃแกแแคแ แแฎแแแแแก แแแแ แ แแแแ แแ แแก แแ แแแก แแแแฌแฃแ แแแก แแแแกแแแฆแแ แแก แจแแกแแซแแแแแแแ (แแแแแแแแแ, "Regexp.timeout = 1.0"), แ แแกแแแแกแแช แ แแแฃแแแ แฃแ แแแแแฎแแขแฃแแแแแก แฃแแแ แฐแฅแแแแแก แแ แ แแแแฃแจแแแแแแกแแแแก.
- Syntax_suggest แ แแแแแ แฉแแ แแฃแแแ, แ แแแ แแแแแแฎแแแ แแก แจแแชแแแแแแแก แแแแแแแแแก แแแแแแแกแขแแ แแแแจแ, แ แแแแแแแช แแแแแแจแแ แแแฃแแแ แแแแแขแแแแแฃแ แแ แแแแแแข "แแแกแ แฃแแแแแก" แแแฎแฃแ แแแก แแแแฃแแแแแกแแแ. แจแแฃแกแแแแแ `แแแกแ แฃแแแแ~, แแแแแ แกแแแแแแซแ แกแแขแงแแ ('do', 'def', 'if' แแ แ.แจ.) ? 1 แแแแกแแก แซแแฆแแ > 2 แฅแแ แฅแ > 3 แแแแ 4 แแแแ
- แแแแแขแแแฃแแแ แแ แแฃแแแแขแแแแก แแแแแจแแแแก แจแแกแแซแแแแแแแ แขแแแแแแแ แแ แแ แแฃแแแแขแแแแแ แแแแแแจแแ แแแฃแแ แจแแชแแแแแแแก แจแแแแฎแแแแแจแ แจแแชแแแแแก แแแแแแแแแแแ แแแแแก แ แแแแแจแ, แแแแแแแแแ: test.rb:2: in `+': แแฃแแแก แแซแฃแแแแ แจแแฃแซแแแแแแแ Integer (TypeError) sum = ary[ 0] + แแ แ [1] ^^^^^^
- แแแแแขแแแฃแแแ แแฎแแแ แกแแแขแแฅแกแ แแ แแฃแแแแขแแแแก แแแแ แแแแก แกแฎแแ แแแแแแแแแ แแแแแแแกแแแแ แแแแแกแแแแก: def foo(*) bar(*) end def baz(**) quux(**) end
- Ruby_vm/mjit/compiler แจแแแแแแแแแแแฃแแ - แซแแแแ MJIT JIT แจแแแแแแแแแแก แแแ แแแแขแ, แแแแแฌแแ แแแ Ruby แแแแแ. แฃแแ แฃแแแแแงแแคแแแแ MJIT-แแก แจแแกแ แฃแแแแ แชแแแแ แแ แแชแแกแจแ, MJIT-แแก แแฃแจแแแแ แซแแคแจแ แจแแกแ แฃแแแแแก แแแชแแแแ.
- Bundler 2.4-แจแ แแแแแแแแแแฃแแแแแก แแแ แแแ แแงแแแแแก PubGrub-แแก แแแ แกแแแก แกแแแแแแแแก, แ แแแแแกแแช แแกแแแ แแงแแแแแก pub-แแก แแแแแขแแก แแแแแฏแแ แ Dart-แแกแแแแก. แแแ แ แแแแแงแแแแแฃแแ Molinillo แแแแแ แแแแ แแแ แซแแแแแก แแแแแงแแแแแแก RubyGems-แจแ, แแแแ แแ แแกแแแ แฉแแแแชแแแแแแ PubGrub-แแ แแแแแแแแจแ.
- แฉแแจแแแแแฃแแ แแ แกแขแแแแแ แขแฃแแ แแแแแแแแแแแก แซแแแ แคแแกแ แแแแฃแแแแแก แแแแแฎแแแแฃแแ แแแ แกแแแแ.
แฌแงแแ แ: opennet.ru