本期聚焦 Rust 編譯器後端、效能實測、大型專案架構、嵌入式開發、GPU 運算與 WebAssembly 部署。另收錄記憶體配置最佳化、AI 程式優化,以及以 Rust 重寫既有系統的實務案例。
Rust GCC 後端同步:莫非定律的實戰考驗
文章介紹 Rust GCC backend,以及將其儲存庫與 Rust 主專案同步的流程與問題。這個後端不應與 GCC 的 Rust 前端 gccrs 混淆;內容重點在於跨專案同步如何出錯,以及維護編譯器後端時可能遭遇的整合挑戰。
Rust Coreutils 與 GNU Coreutils 效能比較
這份測試在設有限制的容器中,比較 uutils 0.12 與 GNU coreutils 9.12,涵蓋完整 GNU 測試套件、157 項指令的逐位元組輸出比對,以及程序啟動成本。結果顯示,uutils 在 157 個比較項目中有 91 項較慢,啟動 5,000 個程序所需時間則為 2.8 倍。這些數據提供了相容性之外的效能觀察,但仍應連同測試環境與工作負載一起解讀。
從 17 分鐘單體建置走向可擴充 Cargo Workspace
一個達 13.3 萬行的 Rust 專案,在規模成長後面臨單體架構與漫長建置時間的瓶頸。這篇回顧探討如何重新整理為可擴充的 workspace,適合正在處理 crate 邊界、相依關係與大型程式碼庫維護成本的團隊參考。
Cybflight:用嵌入式 Rust 打造研究型飛行控制器
Cybflight 是一套開源的嵌入式 Rust 自動駕駛系統,目標是讓空中機器人研究方法能從模擬環境移至實機,而不必重建成熟的飛行控制器或額外加入伴飛電腦。其設計以具型別、可替換的介面連接各項元件,著重研究功能的整合與替換彈性。
CUDA Rust 的兩條導入路線
團隊在 Rust 專案導入 GPU 加速時,可選擇與既有 CUDA C kernel 互通,或改採以 Rust 撰寫的原生 kernel。文章從實務角度比較兩條路線,協助開發團隊依既有程式碼、導入成本與專案時程選擇合適方案。
Workers 實驗性支援原生 Rust 與 Tokio 應用
wasm-bindgen 新增對 Rust 編譯目標 wasm32-unknown-emscripten 的第一階段公開實驗預覽,希望改善原生 Rust 程式碼在 Workers 上的支援,並涵蓋採用 Tokio 的應用程式。對希望把既有 Rust 系統程式帶到邊緣執行環境的團隊而言,這項能力值得持續觀察。
用 Boxed Slice 縮減 Rust 集合的配置負擔
Vec<T> 與 String 是常見的可擴充容器,但資料建立後若不再改變容量,保留額外的成長能力未必符合需求。文章說明如何在唯讀或固定大小的資料情境中,改用 boxed slice 等形式持有資料,以更精確地表達固定容量語意並檢視記憶體使用方式。
Rust 專案成長時的三種組織方式
這支影片以靜態網站產生器為例,示範 Rust 專案如何從單一檔案逐步拆成模組,再抽出 library crate,最後演進為 Cargo workspace。內容適合用來理解不同規模下的專案結構,以及何時值得增加 crate 邊界。
https://www.youtube.com/watch?v=mkW3dTxBmm0
AI 能否在不鑽漏洞的情況下優化 Rust?
這支影片討論讓 AI agent 反覆最佳化 Rust 程式碼時,如何防止它只針對 benchmark 投機取巧。重點包括維持正確性的防護條件、驗證效能改善的方法,以及為何看似亮眼的加速結果仍需要審慎檢查。
https://www.youtube.com/watch?v=U8k8StEWefw
逆向分析電動滑板車並以 Rust 重寫韌體
作者拆解 Egret GT 電動滑板車,並以 Rust 重寫顯示器韌體。調查過程發現,原本標示可為手機充電的 USB-C 連接埠,其中兩個接腳實際承載 CAN bus;作者再以 ESP32-C6、SN65HVD230 與 MCP2515 組成封包側錄工具,分析裝置之間的通訊。
以 Rust 重寫 Elm 編譯器,公開尋找相容性缺口
一項實驗性專案以 Rust 從零重寫 Elm 編譯器,目前已能編譯團隊實際使用、包含 677 個模組的 Elm 程式碼庫。由於只測試自家專案已不足以找出更多問題,開發者正邀請社群使用其他程式碼庫協助驗證,藉此發現尚未涵蓋的語法、行為與相容性問題。