Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Go1.10導入予定のキャッシュビルドについて / golang.tokyo #11
Search
zchee
December 11, 2017
Programming
3
1.6k
Go1.10導入予定のキャッシュビルドについて / golang.tokyo #11
Go1.10導入予定のキャッシュビルドについて in golang.tokyo #11
zchee
December 11, 2017
Tweet
Share
More Decks by zchee
See All by zchee
GoでC/C++パーサーを作った時のflatbuffersの知見 - CA.go #3
zchee
1
1k
Other Decks in Programming
See All in Programming
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.8k
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
130
個人アプリを2年ぶりにアプデしたから褒めて / I just updated my personal app, praise me!
lovee
0
350
ペアーズでの、Langfuseを中心とした評価ドリブンなリリースサイクルのご紹介
fukubaka0825
2
330
富山発の個人開発サービスで日本中の学校の業務を改善した話
krpk1900
4
390
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
250
Rubyで始める関数型ドメインモデリング
shogo_tksk
0
110
2,500万ユーザーを支えるSREチームの6年間のスクラムのカイゼン
honmarkhunt
6
5.3k
負債になりにくいCSSをデザイナとつくるには?
fsubal
10
2.4k
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
130
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
0
180
Java Webフレームワークの現状 / java web framework at burikaigi
kishida
9
2.2k
Featured
See All Featured
Unsuck your backbone
ammeep
669
57k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Faster Mobile Websites
deanohume
306
31k
Designing for humans not robots
tammielis
250
25k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Visualization
eitanlees
146
15k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Automating Front-end Workflow
addyosmani
1368
200k
Transcript
Go1.10導入予定のキャッシュビルド について golang.tokyo #11
Souzoh confidential and proprietary Who? 2
Souzoh confidential and proprietary 自己紹介 • Koichi Shiraishi (@zchee) •
GitHub: zchee • Twitter: _zchee_ • Go シカカケナイ ◦ Go歴: 2.5年 ◦ エンジニア歴: 4ヶ月 • Mercari / Souzoh ソリューションチーム所属 3
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
Souzoh confidential and proprietary 宣伝 5
Souzoh confidential and proprietary 6 https://www.wantedly.com/projects/171425
Souzoh confidential and proprietary はい 7
Souzoh confidential and proprietary Go1.10導入予定のキャッシュビルドに ついて 8
Souzoh confidential and proprietary 皆さん Go devel 使ってますか? 9
Souzoh confidential and proprietary ぼくは業務で使ってます!! 10
Souzoh confidential and proprietary Goに 遂にキャッシュビルドが導入されまし た 11
Souzoh confidential and proprietary 12 現在、 • 1.10beta1 • devel
で利用可能です
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
Souzoh confidential and proprietary • GOCACHE環境変数が増えた ◦ go env GOCACHE
◦ キャッシュファイルが保存されるところ • sha256でハッシュ化され保存される • 二回目以降のビルド時から使用され、既にビルド時間の短縮に繋がっている • 雰囲気はccacheみたいな感じ ◦ 実装までは まだ追えてません 時間がないので省略 golang/go キャッシュビルド導入 14
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
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
Souzoh confidential and proprietary 今後に期待しつつ 1.10beta1で 恩恵を受けましょう! 17
Souzoh confidential and proprietary が、 DWARF辺りのバグがあ り、 cgoビルドが落ちます 18
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
Souzoh confidential and proprietary ご静聴ありがとうございました! 20