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.5k
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
990
Other Decks in Programming
See All in Programming
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
150
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
110
Enabling DevOps and Team Topologies Through Architecture: Architecting for Fast Flow
cer
PRO
0
330
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
120
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
9
3.3k
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
Jakarta EE meets AI
ivargrimstad
0
650
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
250
Click-free releases & the making of a CLI app
oheyadam
2
120
RubyLSPのマルチバイト文字対応
notfounds
0
120
Tauriでネイティブアプリを作りたい
tsucchinoko
0
370
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
Designing for Performance
lara
604
68k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Visualization
eitanlees
145
15k
The Cult of Friendly URLs
andyhume
78
6k
Navigating Team Friction
lara
183
14k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
A Philosophy of Restraint
colly
203
16k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
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