[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-rust-compiler-speed-wins-july-2026-zh":3,"article-related-rust-compiler-speed-wins-july-2026-zh":30,"series-research-6fa6185b-fcd2-4dd5-aacc-f3b929c23f9b":75},{"id":4,"slug":5,"title":6,"content":7,"summary":8,"source":9,"source_url":10,"author":11,"image_url":12,"cover_image":12,"category":13,"language":14,"translated_content":11,"related_article_id":15,"keywords":16,"key_takeaways":23,"views":27,"created_at":28,"published_at":29,"topic_cluster_id":11},"6fa6185b-fcd2-4dd5-aacc-f3b929c23f9b","rust-compiler-speed-wins-july-2026-zh","Rust 編譯器 2026 7 月速度成果實作指南","\u003Cp data-speakable=\"summary\">5.59% 平均 wall time 降幅，說明 2026 年 7 月 \u003Ca href=\"\u002Ftag\u002Frust\">Rust\u003C\u002Fa> 編譯器速度工作最有效的地方。\u003C\u002Fp>\u003Cp>這篇給 Rust compiler contributor、效能\u003Ca href=\"\u002Fnews\u002Fti-shi-gong-cheng-vs-hui-quan-gong-cheng-vs-tu-pu-gong-cheng-zh\">工程\u003C\u002Fa>師與工具開發者看。照做完，你會拿到一套可重現的 \u003Ca href=\"\u002Ftag\u002Fbenchmark\">benchmark\u003C\u002Fa> 工作區、可對照的基準結果，以及能定位 rustdoc、Clippy 和資料結構熱點的實作\u003Ca href=\"\u002Fnews\u002Fcognizant-claude-partnership-pilots-to-production-zh\">流程\u003C\u002Fa>。\u003C\u002Fp>\u003Ch2>開始之前\u003C\u002Fh2>\u003Cul>\u003Cli>Git 帳號與 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Frust-lang\u002Frust\">rust-lang\u002Frust\u003C\u002Fa> 存取權。\u003C\u002Fli>\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Frust-lang\u002Frustc-perf\">rustc-perf\u003C\u002Fa> checkout 與長時間 benchmark 執行權限。\u003C\u002Fli>\u003Cli>Rust nightly，或 Rust 1.87+ toolchain。\u003C\u002Fli>\u003Cli>Node 不需要；需要的是 Python 3.10+ 與 Valgrind tools。\u003C\u002Fli>\u003Cli>Linux 或 macOS 主機，並可執行長時間編譯測試。\u003C\u002Fli>\u003Cli>rustdoc 與 Clippy 的 benchmark 資料可讀。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>Step 1: 取得編譯器與基準倉庫\u003C\u002Fh2>\u003Cp>先建立本機工作區，讓你能同時改 compiler 與跑 benchmark。這一步的具名產出是「rustc-rustc-perf 雙倉工作區」。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785569563415-4xqj.png\" alt=\"Rust 編譯器 2026 7 月速度成果實作指南\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cpre>\u003Ccode>git clone https:\u002F\u002Fgithub.com\u002Frust-lang\u002Frust.git\n git clone https:\u002F\u002Fgithub.com\u002Frust-lang\u002Frustc-perf.git\n cd rust\n rustup toolchain install nightly\n rustup default nightly\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>你應該看到兩個 repository 都在磁碟上，且 \u003Ccode>rustc --version\u003C\u002Fcode> 會回傳 nightly 版本。\u003C\u002Fp>\u003Ch2>Step 2: 建立基準測量快照\u003C\u002Fh2>\u003Cp>這一步要先抓「變更前」資料，後面才有可比對的結果。具名產出是「baseline.json 基準快照」。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785569570846-n7r0.png\" alt=\"Rust 編譯器 2026 7 月速度成果實作指南\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cpre>\u003Ccode>cd ..\u002Frustc-perf\ncargo run --release -- bench local ..\u002Frust\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>你應該看到 benchmark 執行完成，並產生可重跑、可比較的結果檔案。\u003C\u002Fp>\u003Ch2>Step 3: 重現 rustdoc 加速結果\u003C\u002Fh2>\u003Cp>這一步專看 rustdoc，因為它是這次最明顯的 win。具名產出是「rustdoc 專項結果集」。\u003C\u002Fp>\u003Cpre>\u003Ccode>cargo run --release -- bench local ..\u002Frust --include rustdoc\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>你應該看到 rustdoc 的 wall time 明顯下降；在強結果下，平均降幅會是雙位數，且部分 benchmark 會接近文章提到的 37.92% 與 28% 改善。\u003C\u002Fp>\u003Ch2>Step 4: 用 profiling 找出 Clippy 呼叫熱點\u003C\u002Fh2>\u003Cp>這一步的目的，是把 Clippy 的虛擬呼叫與空方法成本抓出來。具名產出是「Clippy cachegrind 與 dhat 報告」。\u003C\u002Fp>\u003Cpre>\u003Ccode>valgrind --tool=cachegrind cargo run -p clippy-driver -- test.rs\nvalgrind --tool=dhat cargo run -p clippy-driver -- test.rs\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>你應該看到高呼叫次數、分支\u003Ca href=\"\u002Fnews\u002Fpwcs-ai-blunder-verification-beats-prompt-engineering-zh\">失誤\u003C\u002Fa>或複製成本偏高；若優化有效，runtime 會往 10% 到 30% 的改善區間移動。\u003C\u002Fp>\u003Ch2>Step 5: 縮小熱資料結構\u003C\u002Fh2>\u003Cp>這一步要把 cache 壓力轉成可量化收益。具名產出是「精簡後的 hot-path struct 定義」。\u003C\u002Fp>\u003Cpre>\u003Ccode>struct Expr {\n    kind: ExprKind,\n    span: Span,\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>你應該看到 AST-heavy 工作負載的 cache miss 下降，且 wall time 變快；若型別尺寸跨過 128 bytes 門檻，還可能避開昂貴的 memcpy 搬移。\u003C\u002Fp>\u003Ch2>Step 6: 重新比對整體結果\u003C\u002Fh2>\u003Cp>最後一步是把前後差異整理成可交付報告。具名產出是「before-after 對照摘要」。\u003C\u002Fp>\u003Cpre>\u003Ccode>cargo run --release -- compare baseline.json latest.json\ncargo run --release -- summarize latest.json\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>你應該看到改善、退化與雜訊項目分開列出；整體結果可對照 5.59% 的平均 wall time 降幅，以及排除 rustdoc 後的 2.90% 改善。\u003C\u002Fp>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>指標\u003C\u002Fth>\u003Cth>基準／優化前\u003C\u002Fth>\u003Cth>結果／優化後\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>平均 wall time\u003C\u002Ftd>\u003Ctd>基準期間\u003C\u002Ftd>\u003Ctd>降低 5.59%\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>rustdoc 平均 wall time\u003C\u002Ftd>\u003Ctd>基準期間\u003C\u002Ftd>\u003Ctd>降低 37.92%\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>排除近期變更後的平均 wall time\u003C\u002Ftd>\u003Ctd>基準期間\u003C\u002Ftd>\u003Ctd>降低 2.90%\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>部分 rustdoc benchmarks\u003C\u002Ftd>\u003Ctd>基準期間\u003C\u002Ftd>\u003Ctd>降低 28%\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Clippy runtime\u003C\u002Ftd>\u003Ctd>基準期間\u003C\u002Ftd>\u003Ctd>降低 10% 到 30%\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>最差 new-solver crates\u003C\u002Ftd>\u003Ctd>基準期間\u003C\u002Ftd>\u003Ctd>降低 40%\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2>常見錯誤\u003C\u002Fh2>\u003Cul>\u003Cli>把單次跑分當結論。修法：至少重跑兩次，確認改善能穩定重現。\u003C\u002Fli>\u003Cli>只改演算法，不看資料布局。修法：先量 struct 大小與 cache miss，再判斷是否跨過 128 bytes 門檻。\u003C\u002Fli>\u003Cli>只看自動報告，不做人工 triage。修法：把 noisy benchmark 與小幅變動分開標記，再決定是否合併。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>接下來可以看什麼\u003C\u002Fh2>\u003Cp>下一步可追 rustc-perf dashboard、閱讀對應 PR，並把 rustdoc PGO、Clippy pass fusion 與 AST 縮體這三種手法整理成你自己的效能檢查清單。\u003C\u002Fp>","這篇教你重現 2026 年 7 月 Rust 編譯器速度測量，檢查 rustdoc、Clippy 與增量編譯的主要優化點。","nnethercote.github.io","https:\u002F\u002Fnnethercote.github.io\u002F2026\u002F07\u002F31\u002Fhow-to-speed-up-the-rust-compiler-in-july-2026.html",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785569563415-4xqj.png","research","zh","fddc60df-68a9-44b4-8e0e-79f3985d2b49",[17,18,19,20,21,22],"Rust","rustc-perf","rustdoc","Clippy","Valgrind","benchmark",[24,25,26],"先建立雙倉工作區與基準快照，才有可比對的速度結果。","rustdoc、Clippy 與資料結構縮體是這次最值得重現的三類優化。","把 before-after 對照摘要做成固定流程，才能分辨真實改善與測量雜訊。",1,"2026-08-01T07:32:21.05618+00:00","2026-08-01T07:32:21.048+00:00",{"tags":31,"relatedLang":34,"relatedPosts":38},[32],{"name":17,"slug":33},"rust",{"id":15,"slug":35,"title":36,"language":37},"rust-compiler-speed-wins-july-2026-en","Rust compiler speed wins from July 2026","en",[39,45,51,57,63,69],{"id":40,"slug":41,"title":42,"cover_image":43,"image_url":43,"created_at":44,"category":13},"595ebbe1-bb81-4b4f-8f42-43a1b3820542","build-small-language-model-deepmind-zh","用 DeepMind 做出小型語言模型","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785522760396-cgum.png","2026-07-31T18:32:17.616702+00:00",{"id":46,"slug":47,"title":48,"cover_image":49,"image_url":49,"created_at":50,"category":13},"27ea61f5-fd76-4df9-a9d0-05f049ca9a66","pac-man-humanoid-dodgeball-safety-zh","PAC-MAN 讓人形機器人閃球更安全","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785481375867-2a5a.png","2026-07-31T07:02:32.393678+00:00",{"id":52,"slug":53,"title":54,"cover_image":55,"image_url":55,"created_at":56,"category":13},"d0e6aae8-7bf9-42bc-a8ff-16bfd8e32c9f","retoken-one-token-visual-retrieval-zh","ReToken：一個 token 抓回視覺脈絡","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785479571709-eug9.png","2026-07-31T06:32:24.178463+00:00",{"id":58,"slug":59,"title":60,"cover_image":61,"image_url":61,"created_at":62,"category":13},"274e17d7-3802-4c6d-acfb-b09f4d6e924d","ml-trace-seiberg-dualities-zh","ML 幫忙追 Seiberg 對偶","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785477769825-coi8.png","2026-07-31T06:02:28.09076+00:00",{"id":64,"slug":65,"title":66,"cover_image":67,"image_url":67,"created_at":68,"category":13},"59958bf8-ca7f-4d66-a170-e54eaa4c1b77","fruitfly-inspired-regression-without-heavy-models-zh","果蠅啟發回歸：用模式匹配省算力","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785394980008-nvqp.png","2026-07-30T07:02:27.028832+00:00",{"id":70,"slug":71,"title":72,"cover_image":73,"image_url":73,"created_at":74,"category":13},"f3cf3f4d-31fc-4666-8132-57c69ed66f4d","mental-world-modeling-simulating-minds-zh","世界模型不只看場景，也要看心智","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1785393187520-8rd3.png","2026-07-30T06:32:29.057837+00:00",[76,81,86,91,96,101,106,111,116,121],{"id":77,"slug":78,"title":79,"created_at":80},"f18dbadb-8c59-4723-84a4-6ad22746c77a","deepmind-bets-on-continuous-learning-ai-2026-zh","DeepMind 押注 2026 連續學習 AI","2026-03-26T08:16:02.367355+00:00",{"id":82,"slug":83,"title":84,"created_at":85},"f4a106cb-02a6-4508-8f39-9720a0a93cee","ml-papers-of-the-week-github-research-desk-zh","每週 ML 論文清單，為何紅到 GitHub","2026-03-27T01:11:39.284175+00:00",{"id":87,"slug":88,"title":89,"created_at":90},"c4f807ca-4e5f-47f1-a48c-961cf3fc44dc","ai-ml-conferences-to-watch-in-2026-zh","2026 AI 研討會投稿時程整理","2026-03-27T01:51:53.874432+00:00",{"id":92,"slug":93,"title":94,"created_at":95},"cf046742-efb2-4753-aef9-caed5da5e32e","adaptive-block-scaled-data-types-zh","IF4：神經網路量化的聰明選擇","2026-03-31T06:00:36.990273+00:00",{"id":97,"slug":98,"title":99,"created_at":100},"53a0dc54-0371-4e40-8d5e-74e94a73840c","geometry-aware-similarity-metrics-for-neural-representations-zh","超越距離測量：用微分幾何重新理解神經網路","2026-03-31T06:01:01.241968+00:00",{"id":102,"slug":103,"title":104,"created_at":105},"fee7d472-a775-4b1d-bbc2-1e8bca1bbf8b","on-the-fly-repulsion-in-the-contextual-space-for-rich-divers-zh","讓AI繪圖更有創意：用排斥力提升生成多樣性","2026-03-31T06:01:25.439673+00:00",{"id":107,"slug":108,"title":109,"created_at":110},"a9901203-d69b-447b-8854-15d14eab32b4","vision-aided-beam-prediction-cnn-eca-zh","影像輔助波束預測升級 CNN","2026-04-01T10:00:25.8073+00:00",{"id":112,"slug":113,"title":114,"created_at":115},"b55e7dd4-0a24-4b3d-804d-b0309a03f498","triple-band-fss-mimo-antenna-sub-6-ghz-zh","三頻 FSS MIMO 天線瞄準 sub-6 GHz","2026-04-01T13:18:36.857305+00:00",{"id":117,"slug":118,"title":119,"created_at":120},"f68290bd-e7f3-4b30-ba22-dcd4e0130a66","openclaw-1299-repos-eight-weeks-analysis-zh","OpenClaw 1299 個 Repo 的資料解讀","2026-04-02T05:03:45.208411+00:00",{"id":122,"slug":123,"title":124,"created_at":125},"ed9f80eb-eb02-4d35-8ad4-0ddf428751dd","beam-coherence-aware-combining-mmwave-mimo-zh","毫米波 MIMO 的雙階合併法","2026-04-02T05:27:26.897188+00:00"]