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
1k
Other Decks in Programming
See All in Programming
HTTP compression in PHP and Symfony apps
dunglas
2
1.7k
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
390
talk-with-local-llm-with-web-streams-api
kbaba1001
0
180
Keeping it Ruby: Why Your Product Needs a Ruby SDK - RubyWorld 2024
envek
0
190
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
170
17年周年のWebアプリケーションにTanStack Queryを導入する / Implementing TanStack Query in a 17th Anniversary Web Application
saitolume
0
250
return文におけるstd::moveについて
onihusube
1
1.1k
fs2-io を試してたらバグを見つけて直した話
chencmd
0
230
testcontainers のススメ
sgash708
1
120
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
5
820
Spatial Rendering for Apple Vision Pro
warrenm
0
110
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
250
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Navigating Team Friction
lara
183
15k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
98
Build your cross-platform service in a week with App Engine
jlugia
229
18k
KATA
mclloyd
29
14k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Building Your Own Lightsaber
phodgson
103
6.1k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Become a Pro
speakerdeck
PRO
26
5k
Statistics for Hackers
jakevdp
796
220k
Music & Morning Musume
bryan
46
6.2k
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