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
980
Other Decks in Programming
See All in Programming
CPython 인터프리터 구조 파헤치기 - PyCon Korea 24
kennethanceyer
0
250
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
920
僕がつくった48個のWebサービス達
yusukebe
18
17k
約9000個の自動テストの 時間を50分->10分に短縮 Flakyテストを1%以下に抑えた話
hatsu38
23
11k
シールドクラスをはじめよう / Getting Started with Sealed Classes
mackey0225
3
400
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
0
160
Honoの来た道とこれから
yusukebe
19
3k
Amazon Neptuneで始めてみるグラフDB-OpenSearchによるグラフの全文検索-
satoshi256kbyte
4
330
go.mod、DockerfileやCI設定に分散しがちなGoのバージョンをまとめて管理する / Go Connect #3
arthur1
10
2.4k
PLoP 2024: The evolution of the microservice architecture pattern language
cer
PRO
0
1.7k
Identifying User Idenity
moro
6
7.9k
Vue SFCのtemplateでTypeScriptの型を活用しよう
tsukkee
3
1.5k
Featured
See All Featured
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
What's new in Ruby 2.0
geeforr
342
31k
Designing Experiences People Love
moore
138
23k
Statistics for Hackers
jakevdp
796
220k
GraphQLとの向き合い方2022年版
quramy
43
13k
Designing for humans not robots
tammielis
249
25k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
7
150
Optimizing for Happiness
mojombo
376
69k
Making Projects Easy
brettharned
115
5.9k
Navigating Team Friction
lara
183
14k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.2k
What's in a price? How to price your products and services
michaelherold
243
12k
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