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
1.1k
Other Decks in Programming
See All in Programming
人には人それぞれのサービス層がある
shimabox
3
460
ts-morph実践:型を利用するcodemodのテクニック
ypresto
1
540
Rails産でないDBを Railsに引っ越すHACK - Omotesando.rb #110
lnit
1
100
Building an Application with TDD, DDD and Hexagonal Architecture - Isn't it a bit too much?
mufrid
0
370
TVer iOSチームの共通認識の作り方 - Findy Job LT iOSアプリ開発の裏側 開発組織が向き合う課題とこれから
techtver
PRO
0
710
事業戦略を理解してソフトウェアを設計する
masuda220
PRO
6
890
RubyKaigi Hack Space in Tokyo & 函館最速 "予習" 会 / RubyKaigi Hack Space in Tokyo & The Fastest Briefing of RubyKaigi 2026 in Hakodate
moznion
1
120
Doma で目指す ORM 最適解
nakamura_to
1
160
Zennの運営完全に理解した #完全に理解したTalk
wadayusuke
1
140
當開發遇上包裝:AI 如何讓產品從想法變成商品
clonn
0
2.6k
〜可視化からアクセス制御まで〜 BigQuery×Looker Studioで コスト管理とデータソース認証制御する方法
cuebic9bic
1
270
Parallel::Pipesの紹介
skaji
2
870
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
Building Adaptive Systems
keathley
41
2.6k
Navigating Team Friction
lara
186
15k
A designer walks into a library…
pauljervisheath
205
24k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Designing for humans not robots
tammielis
253
25k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
Producing Creativity
orderedlist
PRO
346
40k
Facilitating Awesome Meetings
lara
54
6.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
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