Go1.10導入予定のキャッシュビルドについて / golang.tokyo #11

E7ce9369df04e9ccaa440bf5ef948ecb?s=47 zchee
December 11, 2017

Go1.10導入予定のキャッシュビルドについて / golang.tokyo #11

Go1.10導入予定のキャッシュビルドについて in golang.tokyo #11

E7ce9369df04e9ccaa440bf5ef948ecb?s=128

zchee

December 11, 2017
Tweet

Transcript

  1. Go1.10導入予定のキャッシュビルド について golang.tokyo #11

  2. Souzoh confidential and proprietary Who? 2

  3. Souzoh confidential and proprietary 自己紹介 • Koichi Shiraishi (@zchee) •

    GitHub: zchee • Twitter: _zchee_ • Go シカカケナイ ◦ Go歴: 2.5年 ◦ エンジニア歴: 4ヶ月 • Mercari / Souzoh ソリューションチーム所属 3
  4. Souzoh confidential and proprietary プロジェクト / コントリビュート • github.com/zchee/resume ◦

    zchee/docker-machine-driver-xhyve ◦ zchee/nvim-go ◦ nsf/gocode ◦ moby/hyperkit ◦ docker/machine ◦ gperftools/gperftools (TC Malloc) ◦ tmux/tmux ◦ google/flatbuffers ◦ etc... 4
  5. Souzoh confidential and proprietary 宣伝 5

  6. Souzoh confidential and proprietary 6 https://www.wantedly.com/projects/171425

  7. Souzoh confidential and proprietary はい 7

  8. Souzoh confidential and proprietary Go1.10導入予定のキャッシュビルドに ついて 8

  9. Souzoh confidential and proprietary 皆さん Go devel 使ってますか? 9

  10. Souzoh confidential and proprietary ぼくは業務で使ってます!! 10

  11. Souzoh confidential and proprietary Goに 遂にキャッシュビルドが導入されまし た 11

  12. Souzoh confidential and proprietary 12 現在、 • 1.10beta1 • devel

    で利用可能です
  13. Souzoh confidential and proprietary golang/go キャッシュビルド導入 13 • rcs: cmd/go/internal/cache:

    implement build artifact cache ◦ https://github.com/golang/go/commit/1114d403fa7d16247a3c569978290d0827f224a1 • rcs: cmd/go: cache built packages ◦ https://github.com/golang/go/commit/de4b6ebf5d0a12f57ace43948b8b1b90f200fae9
  14. Souzoh confidential and proprietary • GOCACHE環境変数が増えた ◦ go env GOCACHE

    ◦ キャッシュファイルが保存されるところ • sha256でハッシュ化され保存される • 二回目以降のビルド時から使用され、既にビルド時間の短縮に繋がっている • 雰囲気はccacheみたいな感じ ◦ 実装までは まだ追えてません 時間がないので省略 golang/go キャッシュビルド導入 14
  15. Souzoh confidential and proprietary Before this CL: 102.72u 15.29s 21.98r

    go build -o /tmp/jujud github.com/juju/juju/cmd/jujud ... 105.99u 15.55s 22.71r go build -o /tmp/jujud github.com/juju/juju/cmd/jujud ... 106.49u 15.70s 22.82r go build -o /tmp/jujud github.com/juju/juju/cmd/jujud ... 107.09u 15.72s 22.94r go build -o /tmp/jujud github.com/juju/juju/cmd/jujud ... 108.19u 15.85s 22.78r go build -o /tmp/jujud github.com/juju/juju/cmd/jujud ... 108.92u 16.00s 23.02r go build -o /tmp/jujud github.com/juju/juju/cmd/jujud ... 109.25u 15.82s 23.05r go build -o /tmp/jujud github.com/juju/juju/cmd/jujud ... 109.57u 15.96s 23.11r go build -o /tmp/jujud github.com/juju/juju/cmd/jujud ... 109.86u 15.97s 23.17r go build -o /tmp/jujud github.com/juju/juju/cmd/jujud ... 110.50u 16.05s 23.37r go build -o /tmp/jujud github.com/juju/juju/cmd/jujud ... golang/go ビルド時間の違い (github.com/juju/juju/cmd/jujud) 15
  16. Souzoh confidential and proprietary golang/go After this CL: 113.66u 17.00s

    24.17r go build -o /tmp/jujud github.com/juju/juju/cmd/jujud ... 3.85u 0.68s 3.49r go build -o /tmp/jujud github.com/juju/juju/cmd/jujud ... 3.98u 0.72s 3.63r go build -o /tmp/jujud github.com/juju/juju/cmd/jujud ... 4.07u 0.72s 3.57r go build -o /tmp/jujud github.com/juju/juju/cmd/jujud ... 3.98u 0.70s 3.43r go build -o /tmp/jujud github.com/juju/juju/cmd/jujud ... 4.58u 0.70s 3.58r go build -o /tmp/jujud github.com/juju/juju/cmd/jujud ... 3.90u 0.70s 3.46r go build -o /tmp/jujud github.com/juju/juju/cmd/jujud ... 3.85u 0.71s 3.52r go build -o /tmp/jujud github.com/juju/juju/cmd/jujud ... 3.70u 0.69s 3.64r go build -o /tmp/jujud github.com/juju/juju/cmd/jujud ... 3.79u 0.68s 3.41r go build -o /tmp/jujud github.com/juju/juju/cmd/jujud ... ビルド時間の違い (github.com/juju/juju/cmd/jujud) 16
  17. Souzoh confidential and proprietary 今後に期待しつつ 1.10beta1で 恩恵を受けましょう! 17

  18. Souzoh confidential and proprietary が、 DWARF辺りのバグがあ り、 cgoビルドが落ちます 18

  19. Souzoh confidential and proprietary • cmd/go: running dsymutil failed: signal:

    segmentation fault ◦ https://github.com/golang/go/issues/23046 • cmd/compile: fix bug with DWARF abstract functions ◦ https://go-review.googlesource.com/c/go/+/83135 golang/go DWARFバグ 19
  20. Souzoh confidential and proprietary ご静聴ありがとうございました! 20