一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Ruby 3.2.0正式發(fā)布 新增多項(xiàng)改進(jìn)

OSC開(kāi)源社區(qū) ? 來(lái)源: OSC開(kāi)源社區(qū) ? 2022-12-27 10:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Ruby 3.2.0 現(xiàn)已發(fā)布,該版本添加了許多功能和性能改進(jìn)。具體更新內(nèi)容如下:

基于 WASI 的 WebAssembly 支持

這是基于 WASI 的 WebAssembly 支持的初始移植。此項(xiàng)特性使得 CRuby 二進(jìn)制文件可在 Web 瀏覽器、Serverless Edge 環(huán)境和其他 WebAssembly/WASI 嵌入器上使用。目前,此移植可在不使用 Thread API 的前提下通過(guò)基本和引導(dǎo)測(cè)試套件的測(cè)試。2cb1ef12-852e-11ed-bfe3-dac502259ad0.png

生產(chǎn)就緒的 YJIT

2cce2984-852e-11ed-bfe3-dac502259ad0.png
  • YJIT 不再是實(shí)驗(yàn)性的

    • 已經(jīng)在生產(chǎn)工作負(fù)載上進(jìn)行了一年多的測(cè)試,證明非常穩(wěn)定。

  • YJIT 現(xiàn)在支持 Linux、MacOS、BSD 和其他 UNIX 平臺(tái)上的 x86-64 和 arm64/aarch64 CPU。

    • 此版本支持 Apple M1/M2、AWS Graviton、Raspberry Pi 4 等。

  • 構(gòu)建 YJIT 現(xiàn)在需要 Rust 1.58.0+。[Feature #18481 ]

    • 為了確保 CRuby 是使用 YJIT 構(gòu)建的,請(qǐng)?jiān)谶\(yùn)行./configure腳本之前安裝rustc>= 1.58.0 。

  • YJIT 3.2 版本比 3.1 更快,內(nèi)存開(kāi)銷大約是 3.1 的 1/3。

    • 總體而言,YJIT 比 yjit-bench 上的 Ruby 解釋器快 41%(幾何平均值)。

    • JIT 代碼的物理內(nèi)存是延遲分配的。與 Ruby 3.1 不同,Ruby 進(jìn)程的 RSS 被最小化,因?yàn)?/span>--yjit-exec-mem-size分配的虛擬內(nèi)存頁(yè)在 JIT 代碼實(shí)際使用之前不會(huì)映射到物理內(nèi)存頁(yè)。

    • 引入 Code GC,當(dāng) JIT 代碼的內(nèi)存消耗達(dá)到--yjit-exec-mem-size時(shí),釋放所有代碼頁(yè)。

    • RubyVM::YJIT.runtime_stats在現(xiàn)有的inline_code_sizeoutlined_code_sizekeys 之外,還返回 Code GC metrics:code_gc_count、live_page_count、freed_page_countfreed_code_size。

  • RubyVM::YJIT.runtime_stats生成的大部分統(tǒng)計(jì)數(shù)據(jù)現(xiàn)在都可以在發(fā)布版本中使用。

    • 只需使用--yjit-stats運(yùn)行 ruby 來(lái)計(jì)算和轉(zhuǎn)儲(chǔ)統(tǒng)計(jì)信息(會(huì)產(chǎn)生一些運(yùn)行時(shí)開(kāi)銷)。

  • YJIT 現(xiàn)在經(jīng)過(guò)優(yōu)化以利用 object shapes。[Feature #18776 ]

  • 在定義新常量時(shí),利用更細(xì)粒度的常量失效來(lái)減少代碼的無(wú)效化。[Feature #18589 ]

  • 默認(rèn)--yjit-exec-mem-size更改為 64 (MiB)。

  • 默認(rèn)--yjit-call-threshold更改為 30。

針對(duì) ReDoS 的正則表達(dá)式改進(jìn)

由于正則表達(dá)式匹配會(huì)耗費(fèi)不少時(shí)間,當(dāng)代碼試圖向不受信任的輸入匹配低效的正則表達(dá)式時(shí),攻擊者可能會(huì)利用它進(jìn)行 DoS 攻擊(即正則表達(dá)式 DoS,或稱作 ReDoS)。因此新版本引入了兩項(xiàng)可顯著緩解 ReDoS 攻擊的改進(jìn)。改進(jìn)的正則表達(dá)式匹配算法從 Ruby 3.2 開(kāi)始,Regexp 的匹配算法通過(guò)使用記憶技術(shù)得到了極大的改進(jìn)。
# This match takes 10 sec. in Ruby 3.1, and 0.003 sec. in Ruby 3.2 /^a*b?a*$/ =~ "a" * 50000 + "x"
2ceafd02-852e-11ed-bfe3-dac502259ad0.png2d11e5c0-852e-11ed-bfe3-dac502259ad0.png改進(jìn)后的匹配算法使得大多數(shù) Regexp 匹配(實(shí)驗(yàn)中大約為 90%)在線性時(shí)間內(nèi)完成。對(duì)于 3.2.0 預(yù)覽版本的用戶:此優(yōu)化可能會(huì)消耗與每個(gè)匹配的輸入長(zhǎng)度成比例的內(nèi)存。預(yù)計(jì)不會(huì)出現(xiàn)實(shí)際問(wèn)題,因?yàn)榇藘?nèi)存分配通常會(huì)延遲,并且正常的 Regexp 匹配最多應(yīng)消耗 10 倍的內(nèi)存輸入長(zhǎng)度。正則表達(dá)式超時(shí)退出機(jī)制此版本引入了正則表達(dá)式超時(shí)退出機(jī)制。
Regexp.timeout = 1.0

/^a*b?a*$/ =~ "a" * 50000 + "x"
#=> Regexp::TimeoutError is raised in one second
Regexp.timeout根據(jù) Ruby 應(yīng)用程序的要求進(jìn)行配置,可以防止或顯著降低 DoS 的風(fēng)險(xiǎn)。請(qǐng)注意,Regexp.timeout是全局配置項(xiàng),如果希望對(duì)某些特殊的正則表達(dá)式使用不同的超時(shí)設(shè)置,需要使用timeout關(guān)鍵字Regexp.new。
Regexp.timeout = 1.0

# This regexp has no timeout
long_time_re = Regexp.new("^a*b?a*$", timeout: nil)

long_time_re =~ "a" * 50000 + "x" # never interrupted
此項(xiàng)特性的最初提案:https://bugs.ruby-lang.org/issues/17837

其他值得注意的新功能

語(yǔ)法建議
  • syntax_suggest(以前的dead_end)的功能已集成到 Ruby 中,可以幫助找到錯(cuò)誤的位置,例如丟失或多余的 end 。

Unmatched `end', missing keyword (`do', `def`, `if`, etc.) ?

  1  class Dog
> 2    defbark
> 4    end
  5  end
[Feature #18159]錯(cuò)誤高亮
  • 現(xiàn)在它指向 TypeError 和 ArgumentError 的相關(guān)參數(shù)

test.rbin `+': nil can't be coerced into Integer (TypeError)

sum = ary[0] + ary[1]
               ^^^^^^
語(yǔ)言
  • 匿名 rest 和關(guān)鍵字 rest 參數(shù)可以作為參數(shù)傳遞,而不僅僅是在方法參數(shù)中使用。[Feature #18351]

  deffoo(*)
    bar(*)
  end
  defbaz(**)
    quux(**)
  end
更多詳情可查看官方公告:https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ruby
    +關(guān)注

    關(guān)注

    0

    文章

    44

    瀏覽量

    3648

原文標(biāo)題:Ruby 3.2.0正式發(fā)布,新增多項(xiàng)改進(jìn)

文章出處:【微信號(hào):OSC開(kāi)源社區(qū),微信公眾號(hào):OSC開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    u-blox發(fā)布首款車規(guī)級(jí)Wi-Fi 7模塊RUBY-W2

    基于高通技術(shù)公司Snapdragon汽車連接平臺(tái)先進(jìn)Wi-Fi 7技術(shù),RUBY-W2支持更多并發(fā)用戶連接,以高吞吐量和低延遲實(shí)現(xiàn)車規(guī)級(jí)互聯(lián)體驗(yàn)。
    的頭像 發(fā)表于 06-17 10:56 ?1054次閱讀

    又一款藍(lán)牙5.4芯片發(fā)布,發(fā)射性能提升新增多接口

    (電子發(fā)燒友網(wǎng)綜合報(bào)道)射頻 SoC 芯片是實(shí)現(xiàn)萬(wàn)物互聯(lián)的核心環(huán)節(jié),利用豐富的無(wú)線連接技術(shù)可以實(shí)現(xiàn)各種不同場(chǎng)景的連接需求。其中,藍(lán)牙無(wú)線連接芯片在物聯(lián)網(wǎng)消費(fèi)電子領(lǐng)域占據(jù)了重要的市場(chǎng)地位,并憑借低功耗、低延遲、多連接等技術(shù)優(yōu)勢(shì)。國(guó)際藍(lán)牙技術(shù)聯(lián)盟數(shù)據(jù)顯示,2024年全球低功耗藍(lán)牙設(shè)備出貨量約為18億臺(tái),單臺(tái)藍(lán)牙設(shè)備一般搭載單顆射頻藍(lán)牙類SoC芯片。 ? 業(yè)內(nèi)消息指出,昂瑞微推出了新一代低功耗無(wú)線射頻芯片OM6629系列方案,支持藍(lán)牙
    的頭像 發(fā)表于 05-21 18:11 ?3623次閱讀

    智融科技再獲多項(xiàng)殊榮

    珠海智融科技股份有限公司(以下簡(jiǎn)稱“智融科技”),憑借卓越的創(chuàng)新能力與高速成長(zhǎng)動(dòng)能,近期在珠海市2024年度評(píng)選中喜獲多項(xiàng)殊榮。
    的頭像 發(fā)表于 04-11 11:34 ?534次閱讀

    光峰科技為2025款問(wèn)界M9供應(yīng)智能激光投影巨幕系統(tǒng)2.0

    近日,鴻蒙智行2025款旗艦SUV問(wèn)界M9正式發(fā)布,新增多項(xiàng)黑科技與升級(jí)版智駕體驗(yàn),打造50萬(wàn)級(jí)銷冠巔峰之上的新氣象,僅上市兩小時(shí),就實(shí)現(xiàn)了大定突破一萬(wàn)輛。
    的頭像 發(fā)表于 03-24 17:49 ?644次閱讀

    SOLIDWORKS 2025 PDM新增功能

    隨著SOLIDWORKS?2025的發(fā)布其PDM系統(tǒng)也迎來(lái)了一系列重要的新增功能。這些功能不僅進(jìn)一步簡(jiǎn)化了產(chǎn)品數(shù)據(jù)管理流程,還顯著提升了團(tuán)隊(duì)協(xié)作的效率和準(zhǔn)確性。本文將詳細(xì)解析SOLIDWORKS?2025?PDM的新增功能,以便
    的頭像 發(fā)表于 01-22 13:48 ?372次閱讀
    SOLIDWORKS 2025 PDM<b class='flag-5'>新增</b>功能

    荷蘭4月1日起擴(kuò)大半導(dǎo)體設(shè)備出口管制,新增特定測(cè)量設(shè)備等多項(xiàng)技術(shù)

    來(lái)源:集成電路材料研究 荷蘭4月1日起擴(kuò)大半導(dǎo)體設(shè)備出口管制,新增特定測(cè)量設(shè)備等多項(xiàng)技術(shù) 據(jù)荷蘭政府官網(wǎng)消息,外貿(mào)和發(fā)展部長(zhǎng)Reinette Klever于1月15日在政府公報(bào)上宣布,2025年4月
    的頭像 發(fā)表于 01-20 11:39 ?464次閱讀

    四創(chuàng)電子榮獲2024年企業(yè)管理創(chuàng)新成果多項(xiàng)榮譽(yù)

    日前,安徽省企業(yè)家聯(lián)合會(huì)發(fā)布2024年企業(yè)管理現(xiàn)代化創(chuàng)新成果名單,四創(chuàng)電子獲得多項(xiàng)榮譽(yù)。
    的頭像 發(fā)表于 01-08 10:16 ?572次閱讀
    四創(chuàng)電子榮獲2024年企業(yè)管理創(chuàng)新成果<b class='flag-5'>多項(xiàng)</b>榮譽(yù)

    SOLIDWORKS 2025設(shè)計(jì)新增功能

    SOLIDWORKS 2025的發(fā)布為設(shè)計(jì)領(lǐng)域注入了新的活力,其新增功能不僅提升了設(shè)計(jì)效率,還增強(qiáng)了協(xié)作和數(shù)據(jù)管理的能力
    的頭像 發(fā)表于 12-20 17:13 ?677次閱讀

    SOLIDWORKS 2025引入了多項(xiàng)新增工具和增強(qiáng)功能

    在工程設(shè)計(jì)領(lǐng)域,SOLIDWORKS一直以其強(qiáng)大的功能和靈活的操作性贏得了廣泛的認(rèn)可。隨著SOLIDWORKS 2025版本的發(fā)布,這款三維CAD設(shè)計(jì)軟件再次以一系列令人矚目的新增工具和增強(qiáng)功能,為全球設(shè)計(jì)師和工程師們帶來(lái)了設(shè)計(jì)體驗(yàn)和效率提升
    的頭像 發(fā)表于 12-17 15:23 ?698次閱讀

    HyperLynx 2409新增功能和改進(jìn)功能

    作為HyperLynx Schematic Analysis加入HyperLynx系列;Xpedition AMS即將作為HyperLynx AMS加入HyperLynx系列。我們的產(chǎn)品一如既往地出色,并具有以下新增功能和改進(jìn)功能。
    的頭像 發(fā)表于 11-04 11:15 ?1215次閱讀

    請(qǐng)問(wèn)linux-3.2.0的內(nèi)核支持TLV320AIC3104音頻驅(qū)動(dòng)嗎?

    請(qǐng)問(wèn)linux-3.2.0的內(nèi)核支持TLV320AIC3104音頻驅(qū)動(dòng)么?
    發(fā)表于 10-15 06:29

    請(qǐng)問(wèn)inux-3.2.0中tlv320aic3x.c驅(qū)動(dòng)是否支持TLV320AIC3104這款芯片呢?

    TLV320AIC3104搜索到了,但是沒(méi)有聲音輸出,量了下波形,時(shí)鐘不對(duì)。是否是因?yàn)閘inux-3.2.0中tlv320aic3x.c這個(gè)驅(qū)動(dòng)未支持TLV320AIC3104這款芯片呢?有其他人在linux-3.2.0上用過(guò)TLV320AIC3104這款芯片么? 電路
    發(fā)表于 10-14 06:53

    云知聲山海大模型多項(xiàng)能力全球領(lǐng)跑

    國(guó)內(nèi)人工智能權(quán)威機(jī)構(gòu)清華大學(xué)基礎(chǔ)模型研究中心發(fā)布SuperBench九月綜合榜單。本次評(píng)測(cè)選取海內(nèi)外24個(gè)具有代表性的大模型,結(jié)果顯示,山海大模型對(duì)齊、智能體、安全等多項(xiàng)能力全球領(lǐng)跑。
    的頭像 發(fā)表于 10-12 14:30 ?789次閱讀
    云知聲山海大模型<b class='flag-5'>多項(xiàng)</b>能力全球領(lǐng)跑

    微軟發(fā)布了Windows 11的Build 26120.1252更新

    今日,微軟面向其Dev頻道的Windows Insider項(xiàng)目成員隆重發(fā)布了Windows 11的Build 26120.1252(KB5038603)更新,此次更新標(biāo)志著多項(xiàng)重要改進(jìn)與優(yōu)化的到來(lái),旨在為用戶帶來(lái)更加順暢與高效的
    的頭像 發(fā)表于 07-16 14:42 ?947次閱讀

    光莆股份發(fā)布關(guān)于變更部分募集資金用途及新增募集資金投資項(xiàng)目的公告

    近期,光莆股份發(fā)布《變更部分募集資金用途及新增募集資金投資項(xiàng)目》的公告,新增募投項(xiàng)目“半導(dǎo)體光電傳感器件集成封測(cè)研發(fā)及產(chǎn)業(yè)化項(xiàng)目”和“海外智能制造產(chǎn)業(yè)基地?cái)U(kuò)建項(xiàng)目”的建設(shè),把握技術(shù)革新和市場(chǎng)機(jī)遇
    的頭像 發(fā)表于 07-15 17:02 ?738次閱讀