esbuild · SWC · Monorepo · リモート Mac · 2026

2026 リモート Mac フロント構築の落とし穴:
esbuild と SWC の並列 worker/cacheDir/NODE_OPTIONS 対照表

2026.04.11 フロント/ビルド 約 7 分

pnpm/npm workspacesesbuildSWC が同居すると、共有リモート Mac では CPU 過剰・キャッシュ散在・Node ヒープ不足が重なりがちです。GOMAXPROCS/workercacheDirNODE_OPTIONS増分スイッチを一枚にし、検収手順まで示します。フロント系ブログ一覧トップ購入ログイン不要です。

並列 · キャッシュ · ヒープ · 2026

01 monorepo がリモート Mac で荒れる典型

Apple Silicon でも、esbuildSWC が別々にワイド並列すると論理 CPU を超え、I/O でキャッシュが温まりません。.swcnode_modules/.cache が分断されると restore も一部だけ冷えます。先に環境変数とキャッシュ親を揃えてください。併読:Turborepo リモートキャッシュVite/Webpack キャッシュRspack と esbuild worker

02 対照表:GOMAXPROCS/worker、cacheDir、ヒープ、増分

数値はチケット用の出発点。同期用に 1 コアを空け、残りを配分します。

レイヤ GOMAXPROCS/worker 数 cacheDir NODE_OPTIONS(ヒープ上限) 増分ビルドのスイッチ
esbuild(Go バイナリ) GOMAXPROCS を物理コア付近に。バンドラ同時実行は Node スレッドと合算。 ステートレス本体+ラッパー側で node_modules/.cache/esbuild.cache/build を単一路に。 Go 本体は対象外。Node プラグインのみ NODE_OPTIONS=--max-old-space-size=8192 等。 CLI 一発よりバンドラキャッシュ API。クリーン後の温二回目で効きを測る。
SWC(Rust) RAYON_NUM_THREADS で vCPU 明示。Next/Turbo 並列はホスト以下。 .swc.next/cache を SSD ワークスペースへ集約(必要なら symlink)。 型・ソースマップが Node に残るなら --max-old-space-size を RSS に合わせ段階的に。 AST ディスクキャッシュ+フレームワーク incremental を両立。ツール更新時のみ掃除。
オーケストレータ(Turbo/Nx 等) --parallelGOMAXPROCS+SWC 合計。ビルド+テスト負荷も同じチケットで。 TURBO_CACHE_DIRNX_CACHE_DIRECTORY を単一路、クリーナ対象外に。 ネスト npm へ継承させるためプロファイルで NODE_OPTIONS を一括宣言。 ローカル増分安定後にリモートキャッシュ。ヒット率だけで誤設定を隠さない。

esbuild と SWC の合算並列が論理 CPU を超えないことが、リモート Mac での再現性の鍵です。

03 ベンチ前の五つの整え

  1. TS/JSX に触れるバイナリを洗い、esbuild/SWC/同居をラベル化。
  2. ランナーごとにキャッシュ親を一つ決め、env と CI artifacts で固定。
  3. GOMAXPROCSRAYON_NUM_THREADS・オーケ並列を同一チケットに。
  4. リモート Mac で冷一回のあと十分以内に温を二回以上
  5. 壁時計・ピーク RSS・ディスク I/O をログ化し PR に添付。
チケットに貼れる目安(Apple Silicon)
  • 大規模 DS は Node ヒープ 8GB 付近から試し、後で削る。
  • UI/同期用に 1 コアを空け、スレッド上限から減算。
  • NVMe の温増分は冷に比べ 約三〜六成短縮の例が多い(依存あり)。

04 リモート Mac 検収チェックリスト

  1. SSH 一致:二シェルで env | sort を突合、三変数がブランチ間で同一か。
  2. キャッシュ証跡:温実行で cacheDir のバイト増とオーケヒット。常冷は失敗。
  3. 競合:テスト併走ビルドでも予算内。
  4. ディスク:df -h 空き二割未満なら捨てキャッシュ整理。
  5. 引継ぎ:対照表の行+冷/温の壁時計をノート欄へ。

待ち行列が続くなら 専用リモート Mac をレンタルしビルド枠を隔離するのが確実。料金も公開ページで(ログイン不要)。

05 FAQ

Q. GOMAXPROCS 上限は速さに直結? A. 物理コア超は多くの場合オーバーヘッドのみ。

Q. cacheDir を共有? A. 内部形式は分離、親ディレクトリとバックアップだけ共通化。

Q. 共有ホストの増分は危ない? A. ワークスペース分離+ツール更新時のみ掃除で運用可。

リモート Mac を借りて esbuild/SWC のパイプラインを速く安定させる

専用枠なら待ちとキャッシュ冷えを抑えられます。トップヘルプ購入はログイン不要。関連はフロント系ブログ一覧

ビルド高速化のリモート Mac