2020-12-15
課題やろうと思ったらM1 Preview Docker for Macが降ってきちゃった!(悲劇)
あまりに普通に動くのでビビる
もともとDesktopでArm動いたんだから逆もいける、それはそうですわ
$ npm ci
code: rosetta
Executed in 14.50 secs fish external
usr time 8.37 secs 59.00 micros 8.37 secs
sys time 6.85 secs 763.00 micros 6.85 secs
code: docker-arm64
Executed in 62.24 secs fish external
usr time 394.34 millis 54.00 micros 394.28 millis
sys time 203.91 millis 906.00 micros 203.00 millis
だいたい4~5倍くらい遅いのかな(IOレイテンシ)
grpc-FUSEが仕組み的に1つのファイルIOに対して5倍のコンテキストスイッチを含むので、だいたい5倍というのは分かる話 コンテナ--(File IO)-->Linuxカーネル--(FUSE)-->LInuxユーザ空間に存在するgrpc-FUSEのエージェント--(TCP)-->Linuxカーネル→macOSカーネル--(TCP)-->macOS側のgrpc-FUSEエージェント--(File IO)-->macOSカーネル
nativeなnodeはnpm ciの挙動が変わっていて単純比較できない(異常に高速)
きになるな
Merge Pagesそれなりに便利