[{"data":1,"prerenderedAt":379},["ShallowReactive",2],{"content-/deploy-speed-defender-and-cpu-verdict":3,"all-pages-for-dir":357,"related-/deploy-speed-defender-and-cpu-verdict":358,"og-image-/deploy-speed-defender-and-cpu-verdict":378},{"id":4,"title":5,"body":6,"category":338,"concepts":339,"description":340,"extension":341,"meta":342,"navigation":343,"ogImage":339,"path":344,"project_name":345,"published":346,"publishedAt":347,"seo":348,"source":339,"stem":349,"tags":350,"todo":339,"unpublished":346,"updatedAt":339,"__hash__":356},"pages/2026-08/2026-08-20/deploy-speed-defender-and-cpu-verdict.md","デプロイ21分44秒の半分はDefender、残る5倍差はCPUのJS実行速度だった",{"type":7,"value":8,"toc":330},"minimark",[9,13,22,30,42,47,50,67,70,74,81,150,153,159,168,171,175,178,253,262,274,277,301,305,308,311,327],[10,11,5],"h1",{"id":12},"デプロイ21分44秒の半分はdefender残る5倍差はcpuのjs実行速度だった",[14,15,16,17,21],"p",{},"このサイトのデプロイ（",[18,19,20],"code",{},"pnpm generate"," からアップロードまで）は、Macだと4分40秒で終わる。\n同じ処理がWindowsだと20分を超えていた。\n2026-08-18から2日がかりでこの差を切り分け、今朝決着したので記録しておく。",[14,23,24,25,29],{},"結論を先に書く。\n犯人は2つあり、",[26,27,28],"strong",{},"半分はWindows Defenderのリアルタイムスキャン、残りはCPUの素のJavaScript実行速度","だった。\n前者は除外設定で解決済みで、後者は設定では縮まらない。",[31,32,33,38],"figure",{},[34,35],"img",{"src":36,"alt":37},"/images/deploy-speed-defender-and-cpu-verdict/figure-01.svg","デプロイ21分44秒の半分はDefenderが使っていた。除外設定だけで11分30秒になり、同じ処理がMacでは4分40秒で終わる",[39,40,41],"figcaption",{},"図1: 同じデプロイの実測。Defender除外で半減し、それでもMacとは2.5倍の開きが残った",[43,44,46],"h2",{"id":45},"犯人1-defenderがファイルアクセスの全部に割り込んでいた","犯人1: Defenderがファイルアクセスの全部に割り込んでいた",[14,48,49],{},"Nuxtの静的生成は、とにかく大量にファイルを開け閉めする。\nViteのビルドに続いて7,800ルート超を書き出し、最後にdistを総なめする検証スクリプトが走る。\nDefenderのリアルタイムスキャンは、その1ファイルごとに割り込んでいた。",[14,51,52,53,56,57,60,61,66],{},"リポジトリのパスと ",[18,54,55],{},"node.exe"," と ",[18,58,59],{},"pnpm.exe"," の3つを除外しただけで、合計は21分44秒から11分30秒になった。\n効いたのはファイルを大量に触る工程で、Viteビルドは約2倍、dist検証は5〜10倍速くなった。\n一方で、記事のプリレンダー本体は16%しか縮まなかった。\n段階別の数字は",[62,63,65],"a",{"href":64},"/deploy-speed-defender-and-repo-push-audit","前日の計測記事","にまとめてある。",[14,68,69],{},"Defenderを疑ったのは正解だったが、それだけでは説明がつかない差が残った。\nプリレンダーはMacの75.7秒に対してWindowsは383.4秒で、まだ5倍の開きがある。",[43,71,73],{"id":72},"犯人2-1記事のssrを単体で測ったら475倍差だった","犯人2: 1記事のSSRを単体で測ったら4.75倍差だった",[14,75,76,77,80],{},"プリレンダーの遅さには、並列数、メモリ圧、SQLite、JS実行と容疑者が多い。\nそこで層を分離するため、プリレンダー用バンドルのlocalFetchを直接呼んで1記事のSSRだけを測るハーネスを用意した。\n同じ記事300本を同一シードで選び、",[18,78,79],{},"NODE_ENV=production"," で逐次レンダリングして統計を取る。\nMac側でも同じハーネスを走らせて、条件をそろえて比べた。",[82,83,84,104],"table",{},[85,86,87],"thead",{},[88,89,90,94,98,101],"tr",{},[91,92,93],"th",{},"指標",[91,95,97],{"align":96},"right","Windows（Ryzen 7 5800X）",[91,99,100],{"align":96},"Mac（M5 Pro）",[91,102,103],{"align":96},"差",[105,106,107,122,136],"tbody",{},[88,108,109,113,116,119],{},[110,111,112],"td",{},"平均",[110,114,115],{"align":96},"69.9ms",[110,117,118],{"align":96},"14.7ms",[110,120,121],{"align":96},"4.75倍",[88,123,124,127,130,133],{},[110,125,126],{},"p50",[110,128,129],{"align":96},"65ms",[110,131,132],{"align":96},"14ms",[110,134,135],{"align":96},"4.6倍",[88,137,138,141,144,147],{},[110,139,140],{},"p90",[110,142,143],{"align":96},"94ms",[110,145,146],{"align":96},"17ms",[110,148,149],{"align":96},"5.5倍",[14,151,152],{},"事前に決めた判定基準は「4倍以上ならJS実行速度そのもので決着」だった。\n4.75倍なので、並列数やヒープ設定の条件差ではなく、CPUがJavaScriptを回す速さの差だと確定した。",[14,154,155,158],{},[18,156,157],{},"--cpu-prof"," の内訳もこれを裏付けた。\nSQLite（node:sqlite）の読み出しは両OSとも1記事あたり約6msとほぼ同じで、差のほとんどはJavaScriptの実行部分だった。",[31,160,161,165],{},[34,162],{"src":163,"alt":164},"/images/deploy-speed-defender-and-cpu-verdict/figure-02.svg","1記事のSSRの差はSQLiteではなくJavaScriptの実行。DB読みは両OSとも約6msで同じ、JS部分が約64msと約8.7msで約7倍違う",[39,166,167],{},"図2: 1記事SSRの内訳。DB読みは同速で、JavaScriptの実行部分に約7倍の差があった",[14,169,170],{},"プリレンダーは1ルートごとにシングルスレッドのJSを回す。\nだから並列数を増やしても1記事あたりの時間は縮まず、この差は設定では詰められない。",[43,172,174],{"id":173},"_2020年のcpuは2026年の新品からどれだけ離されたか","2020年のCPUは、2026年の新品からどれだけ離されたか",[14,176,177],{},"Windows機は2020年に組んだ自作デスクトップで、CPUはRyzen 7 5800Xである。\n発売当時は上位のCPUだったが、6年でどれだけ離されたのか。\nGeekbenchのチャート平均（2026-08-20取得）で並べてみた。",[82,179,180,196],{},[85,181,182],{},[88,183,184,187,190,193],{},[91,185,186],{},"CPU",[91,188,189],{},"発売",[91,191,192],{"align":96},"シングルコア",[91,194,195],{"align":96},"対5800X",[105,197,198,212,226,239],{},[88,199,200,203,206,209],{},[110,201,202],{},"Ryzen 7 5800X",[110,204,205],{},"2020",[110,207,208],{"align":96},"2,040",[110,210,211],{"align":96},"1.00",[88,213,214,217,220,223],{},[110,215,216],{},"Core Ultra 9 285K",[110,218,219],{},"2024",[110,221,222],{"align":96},"2,866",[110,224,225],{"align":96},"1.40倍",[88,227,228,231,233,236],{},[110,229,230],{},"Ryzen 7 9800X3D",[110,232,219],{},[110,234,235],{"align":96},"2,967",[110,237,238],{"align":96},"1.45倍",[88,240,241,244,247,250],{},[110,242,243],{},"Apple M5",[110,245,246],{},"2025",[110,248,249],{"align":96},"3,635",[110,251,252],{"align":96},"1.78倍",[31,254,255,259],{},[34,256],{"src":257,"alt":258},"/images/deploy-speed-defender-and-cpu-verdict/figure-03.svg","シングルコアの世代差。Geekbenchチャート平均でRyzen 7 5800Xは2,040、Core Ultra 9 285Kは2,866、Ryzen 7 9800X3Dは2,967、Apple M5は3,635",[39,260,261],{},"図3: シングルコアのチャート平均。2026年の新品デスクトップでもM5には2割強届かない",[14,263,264,265,273],{},"2026年8月時点でWindowsデスクトップを普通に組むなら、CPUはZen 5世代のRyzen 9000か、IntelのCore Ultra 200Sが定番になる。\n次世代のZen 6デスクトップは、報道ベースでは2027年へ延びる見込みだ（",[62,266,272],{"href":267,"target":268,"rel":269},"https://videocardz.com/newz/amd-zen-6-desktop-ryzen-olympic-ridge-reportedly-set-to-launch-in-2027","_blank",[270,271],"noopener","noreferrer","→ VideoCardz の報道（2026-07）","）。\nつまり今30万円級で組み直しても、シングルコアはいまの1.4〜1.45倍にしかならない。\nしかもチャート上のApple M5は、その新品からさらに2割強上にいる。",[14,275,276],{},"注意したいのは、ベンチの倍率と実ワークロードの倍率が一致しなかったことだ。\nチャート上のM5は5800Xの1.78倍だが、実測したSSRの差は4.75倍、JS部分だけなら約7倍あった。\nこの開きの原因は特定できていない。\nメモリ帯域やキャッシュ構成の差が効いている可能性はあるが、測っていないので推測の域を出ない。\n確かなのは、ベンチの倍率から実ワークロードを外挿すると大きく外れることがある、という実測結果だけである。\nだから買い替えの効果も、ベンチ比の1.4倍前後と見込むより、同じハーネスを新しい機材で走らせて確かめるほうが確実だ。",[14,278,279,280,285,286,285,291,285,296],{},"チャートの出典は次の4本である。\n",[62,281,284],{"href":282,"target":268,"rel":283},"https://browser.geekbench.com/processors/amd-ryzen-7-5800x",[270,271],"→ Ryzen 7 5800X"," /\n",[62,287,290],{"href":288,"target":268,"rel":289},"https://browser.geekbench.com/processors/intel-core-ultra-9-285k",[270,271],"→ Core Ultra 9 285K",[62,292,295],{"href":293,"target":268,"rel":294},"https://browser.geekbench.com/processors/amd-ryzen-7-9800x3d",[270,271],"→ Ryzen 7 9800X3D",[62,297,300],{"href":298,"target":268,"rel":299},"https://browser.geekbench.com/mac-benchmarks",[270,271],"→ Macチャート（M5）",[43,302,304],{"id":303},"実務の答えと切り分けの型","実務の答えと、切り分けの型",[14,306,307],{},"実務の答えは単純で、急ぐデプロイはMacから打つ。\nWindows機の11分30秒はハードの上限に近い数字で、今朝の本番デプロイでも11分29秒と再現した。",[14,309,310],{},"2日間の切り分けを型にすると、次の3手だった。",[312,313,314,318,321],"ol",{},[315,316,317],"li",{},"条件を1つだけ変えて、全体を測り直す（Defender除外の前後で21分44秒が11分30秒に）",[315,319,320],{},"残った差は、層を分離する単体ベンチで測る（1記事SSRだけを300本、同一シードで）",[315,322,323,324,326],{},"内訳はプロファイラで確かめる（",[18,325,157],{}," でSQLiteとJSを切り分け）",[14,328,329],{},"犯人が複数いる遅さは、全体の再測定だけでは決着しない。\nどの層が何倍遅いかを1つずつ固定していくと、設定で直る分と直らない分が分かれて、打ち手が決まる。",{"title":331,"searchDepth":332,"depth":332,"links":333},"",2,[334,335,336,337],{"id":45,"depth":332,"text":46},{"id":72,"depth":332,"text":73},{"id":173,"depth":332,"text":174},{"id":303,"depth":332,"text":304},"dev",null,"Macで4分40秒のデプロイがWindowsで20分超かかる謎を2日がかりで切り分けた。Defenderの除外で11分30秒まで縮み、残った差は1記事SSRの単体ベンチでWindows 69.9ms対Mac 14.7msと出て、JavaScriptの実行速度そのものと決着した。買い替えで届くのかもGeekbenchの世代比較で確かめた","md",{},true,"/deploy-speed-defender-and-cpu-verdict","mdx-playground",false,"2026-08-20T00:00:00.000Z",{"title":5,"description":340},"2026-08/2026-08-20/deploy-speed-defender-and-cpu-verdict",[351,352,353,354,243,355],"Windows Defender","Nuxt","プリレンダー","ビルド高速化","Geekbench","T1BUPoacfxPglUhKPQi-7T9D2Qx4gsg6hBHLTw_wPDg",[],[359,362,366,370,374],{"title":360,"path":64,"publishedAt":361},"Windows Defenderの除外でNuxtのビルドは半分になったが、記事のプリレンダーは16%しか縮まなかった","2026-08-19T00:00:00.000Z",{"title":363,"path":364,"publishedAt":365},"NuxtのSSGビルドが3倍遅くなった原因調査 — 差分ビルドではなくプリレンダー共有キャッシュで立て直す","/ssg-prerender-fullscan-cache","2026-07-19T00:00:00.000Z",{"title":367,"path":368,"publishedAt":369},"縦型ショート動画のレイアウトを専用実装せず、既存のレスポンシブ縦積みで撮った","/vertical-short-video-layout","2026-08-18T00:00:00.000Z",{"title":371,"path":372,"publishedAt":373},"税大講本ビューアーのドラフト表示バグ修理とSVGウォーターマーク導入の記録","/zeimu-figure-viewer-improvements","2026-08-17T00:00:00.000Z",{"title":375,"path":376,"publishedAt":377},"eurekapu.comのOG画像が表示されない問題の修理とDependabot警告25件の棚卸し","/eurekapu-ogp-image-repair","2026-08-16T00:00:00.000Z","https://log.eurekapu.com/og/blog/deploy-speed-defender-and-cpu-verdict.png?v=2026-08-20T00%3A00%3A00.000Z&title=%E3%83%87%E3%83%97%E3%83%AD%E3%82%A421%E5%88%8644%E7%A7%92%E3%81%AE%E5%8D%8A%E5%88%86%E3%81%AFDefender%E3%80%81%E6%AE%8B%E3%82%8B5%E5%80%8D%E5%B7%AE%E3%81%AFCPU%E3%81%AEJS%E5%AE%9F%E8%A1%8C%E9%80%9F%E5%BA%A6%E3%81%A0%E3%81%A3%E3%81%9F&author=Kei%20Komatsu&sig=f1f64fcd71c827a2",1787187401582]