Rust 1.80新增延遲初始化型別,大幅提升資源管理效能
支付動態 · 2024-07-26

Rust 1.80新增LazyCell和LazyLock延遲初始化型別,還強化模式對比靈活性,並在套件管理器Cargo改進cfg檢查,提升整體開發效率和程式品質

Rust 1.80加入了多項提高效率、程式碼安全性和靈活性的功能更新,標準函式庫新增LazyCell和LazyLock延遲初始化型別,並且強化模式(Pattern)比對的靈活性,而Rust套件管理器Cargo現在則會檢查所有已知的cfg名稱和值,並且偵測錯誤配置。

Rust新加入的LazyCell和LazyLock型別簡化延遲初始化的實作,使得程式在需要時才進行計算和資源分配的程式碼,變得更加容易編寫。延遲初始化操作對於需要按需載入資源的情境特別有用,能夠在需要時才分配資源,這將可大幅提高大型應用的啟動速度和執行效率,從資源管理的角度來說,對於需要大量記憶體或是其他系統資源的物件,可以更有效地管理資源,有助於減少程式整體記憶體使用量。

官方現在直接在標準函式庫中加入LazyCell和LazyLock,讓實作延遲初始化功能更簡單,消除需要的樣板程式碼,同時也降低了對外部相依項目的依賴,簡化專案管理工作。

LazyLock與LazyCell的差異在於,LazyLock為執行緒安全,相較於LazyCell只適用於單執行緒環境,LazyLock實作了Sync trait,因此可在多執行緒環境中安全使用,不過也由於LazyLock需要處理執行緒同步,因此會產生額外的效能開銷。

Rust 1.70加入了同樣用於延遲初始化的OnceCell和OnceLock型別,不過LazyCell和LazyLock本身就包含了初始化邏輯,不像是OnceCell、OnceLock需要外部方法來提供初始化邏輯,因此LazyCell和LazyLock在使用上更為簡單,不過當初始化邏輯需要依據執行條件變化,則OnceCell和OnceLock更加靈活。

Rust 1.80透過檢查cfg名稱和值,來強化程式碼的正確性和可靠性。該功能可以偵測和警告開發者可能的cfg名稱或值的拼寫錯誤,避免因為錯誤條件編譯配置所導致的問題,確保開發者只使用已定義和預期的cfg條件,減少意外行為。

由於cfg檢查功能在編譯階段就能發現潛在的配置問題,因此大幅降低在執行時才發現錯誤的風險,提高了整體的程式碼品質和開發效率。

Rust 1.80還引入了一個能夠擴展模式比對範圍的新功能,開發者已可以使用排他範圍(Exclusive Range)語法a..b或..b,其提供類似Range和RangeTo表示式的功能,該表示式在處理連續範圍時更方便,允許範圍之間沒有間格或是重疊,使某些類型的程式碼更清楚且不容易出錯,維持語言的一致性和表達性。

熱門文章
Institutional Academy that exceeded expectations marked the opening of GAT CDMX
Online Game
Brazil Proposes Raising Gambling Tax Rate to 24%, With Revenue Allocated to Social Security and Healthcare
Regulation
B2B Tech Infrastructure Gains Momentum in Philippine Gaming Sector
Southeast Asia
Full House at GAT Expo Cartagena 2026 Academic Agenda
Online Game
JILI Partners with Cricket Legend AB de Villiers (ABD) to Launch Exclusive Branded Game Series 100% 11
Sports Game
SBC Summit Canada to Make Player Safety a Key Pillar of 2026 Agenda
Marketing
Are you ready to maximize your earnings? Try ProPush.me Constructor!
Marketing
GAT Expo Puerto Rico Will Pulse with the New Era of Gaming in the Caribbean
Marketing
Super PAC Raises $48 Million: Sports Betting Forces Ramp Up Political Push
Regulation
British gambling levy rates confirmed for each vertical
Regulation
GGC Awards 2026 Shines in Colombo: Honoring Leaders and Innovators in the iGaming Industry
HUIDU Focus
Online gambling, crypto pose ongoing money laundering risks in Philippines, analyst says
Southeast Asia
Vietnam’s Controlled Gaming Shift Gains Ground, But Domestic Demand Still Lags
Southeast Asia
Kazakhstan plans to penalise online casino promotions
Regulation
1spin4win grows its Latin American presence by partnering with Fortuna Juegos
Online Game
首頁
遊戲
合作
發現
我的