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
Goビルドを理解し、 CI/CDの高速化に挑む
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
sato-shin
March 27, 2026
Technology
350
0
Share
Goビルドを理解し、 CI/CDの高速化に挑む
sato-shin
March 27, 2026
More Decks by sato-shin
See All by sato-shin
DateComponentsと仲良くなる
satoshin
3
3.7k
Bitriseのビルド回数が 10倍以上になって変わったコト
satoshin
1
470
Pull Request Trigger について ~Expose for Pull Request?~
satoshin
1
150
User Notification for UX!
satoshin
0
190
Using various views on Notification Content app extension
satoshin
2
1.2k
Getting step count on iOS
satoshin
4
3.3k
Other Decks in Technology
See All in Technology
oracle-to-databricks-migration-with-llm-and-dbt
casek
1
380
サプライチェーンセキュリティの空白地帯 - 信頼できる”依存性”の未来を考える
rung
PRO
2
530
美味しいスイスチーズを作ろう🧀🐭
taigamikami
1
190
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
GitHub Copilot CLIでWebアクセシビリティを改善した話
tomokusaba
0
140
AI時代の私の技術インプットとアウトプット術
tonkotsuboy_com
15
8k
JJUG CCC 2026 Spring AI時代の開発こそ標準化を武器に! ― 方式・プロセス・プラットフォームの標準化
s27watanabe
2
640
食べログのサーキットブレーカー導入を振り返って
atpons
1
160
個人の発見を、組織の知恵に 〜生成AI活用を"探索"から"組織の仕組み"へ〜
kintotechdev
2
210
Strands Agents超入門
kintotechdev
1
150
インフラが苦手でも大丈夫! 紙芝居 Kubernetes -WWGT 10周年編-
aoi1
1
310
Ruby::Boxでできること、Refinementsでできること
joker1007
2
110
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Optimizing for Happiness
mojombo
378
71k
Everyday Curiosity
cassininazir
0
220
The browser strikes back
jonoalderson
0
1.1k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
560
How to train your dragon (web standard)
notwaldorf
97
6.6k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
150
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
340
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
370
Transcript
TBUPTIJO (PϏϧυΛཧղ͠ɺ $*$%ͷߴԽʹΉ NJJWFͰˠΛ࣮ݱͨ͠վળࣄྫ
NJJWFͷ$*$%ͷྲྀΕ
NJJWFͷ$*$%ͷྲྀΕʢվળલʣ 6OJU5FTU %FQMPZ UP"84&$4 &&5FTU -JOU
#VJME ߹ܭ
NJJWFͷ$*$%ͷྲྀΕʢվળલʣ 6OJU5FTU %FQMPZ UP"84&$4 &&5FTU -JOU
#VJME ߹ܭ
NJJWFͷ$*$%ͷྲྀΕʢվળલʣ 6OJU5FTU ඵ %FQMPZ UP"84&$4 &&5FTU -JOU
#VJME ඵ ߹ܭ
NJJWFͷ$*$%ͷྲྀΕʢվળલʣ 6OJU5FTU ඵ %FQMPZ UP"84&$4 &&5FTU -JOU
#VJME ඵ ͜͜ʹࢸΔ·Ͱ
·ͣ(PͷϏϧυΛͪΌΜͱΖ͏ʂ $ go build
(PͷϏϧυͷಛ w Ϗϧυޙͷ୯ҰόΠφϦͰಈ͖ɺ࣮ߦڥʹ(PͷΠϯετʔϧෆཁ w ΫϩείϯύΠϧʹΑΓɺ$*$%ͷઃఆָ͕ w ϏϧυΩϟογϡͷػߏ͕Έࠐ·Ε͍ͯΔ
(PͷϏϧυͷಛ w Ϗϧυޙͷ୯ҰόΠφϦͰಈ͖ɺ࣮ߦڥʹ(PͷΠϯετʔϧෆཁ w ΫϩείϯύΠϧʹΑΓɺ$*$%ͷઃఆָ͕ w ϏϧυΩϟογϡͷػߏ͕Έࠐ·Ε͍ͯΔ
࣮ߦڥʹ(Pෆཁ 04 +BWB7JSUVBM.BDIJOF KBSϑΝΠϧ 04 (Pͷ୯ҰόΠφϦ ࣮ߦϑΝΠϧ
࣮ߦڥʹ(Pෆཁ w ґଘ͢Δͷ͕গͳ͍ͷͰ w ཧָ͕ w ηΩϡΞ w αʔόʔͷ্ཱ͕ͪΓ͕ૣ͍ w
࣮ߦɾϝϞϦফඅྔͰ༗ར 04 (Pͷ୯ҰόΠφϦ ࣮ߦϑΝΠϧ
(PͷϏϧυͷಛ w Ϗϧυޙͷ୯ҰόΠφϦͰಈ͖ɺ࣮ߦڥʹ(PͷΠϯετʔϧෆཁ w ΫϩείϯύΠϧʹΑΓɺ$*$%ͷઃఆָ͕ w ϏϧυΩϟογϡͷػߏ͕Έࠐ·Ε͍ͯΔ
ΫϩείϯύΠϧ͕Մೳ $*ڥ6CVOUV $ GOOS=windows \ GOARCH=amd64 \ go build -o
app ࣮ߦڥ8JOEPXTTFSWFSBNE BQQFYF BQQFYF $PQZ
(PͷϏϧυͷಛ w ΫϩείϯύΠϧʹΑΓɺ$*$%ͷઃఆָ͕ w Ϗϧυޙͷ୯ҰόΠφϦͰಈ͖ɺ࣮ߦڥʹ(PͷΠϯετʔϧෆཁ w ϏϧυΩϟογϡͷػߏ͕Έࠐ·Ε͍ͯΔ $ go build
(PͷϏϧυϑϩʔͷ֓ཁ ґଘؔͷղܾ ίϯύΠϧ $ go tool compile ύοέʔδຖʹPCKੜ ϦϯΫ $
go tool link 0CKΛ౷߹͠ɺ ࣮ߦϑΝΠϧΛੜ HPͷ࣮ߦϑΝΠϧ
(PͷϏϧυϑϩʔͷ֓ཁ ґଘؔͷղܾ ίϯύΠϧ $ go tool compile ύοέʔδຖʹPCKੜ ϦϯΫ $
go tool link 0CKΛ౷߹͠ɺ ࣮ߦϑΝΠϧΛੜ HPͷ࣮ߦϑΝΠϧ ύοέʔδຖͷPCK͕Ωϟογϡ͞Ε มߋ͕ͳ͍ύοέʔδͷίϯύΠϧεΩοϓ
(PͷϏϧυͷಛ w ΫϩείϯύΠϧʹΑΓɺ$*$%ͷઃఆָ͕ w Ϗϧυޙͷ୯ҰόΠφϦͰಈ͖ɺ࣮ߦڥʹ(PͷΠϯετʔϧෆཁ w ϏϧυΩϟογϡͷػߏ͕Έࠐ·Ε͍ͯΔ
$*$%Λૣ͘͢Δखஈͷ ௐࠪ։࢝
(PϏϧυͷجຊతͳߴԽख๏ w $*ͰϏϧυΩϟογϡΛར༻͢Δ w $*ͰϞδϡʔϧΩϟογϡΛར༻͢Δ w ར༻͍ͯ͠ͳ͍ίʔυΛআ͢Δ w ύοέʔδͷׂΛ࠷దԽ͢Δ
(PϏϧυͷجຊతͳߴԽख๏ w $*ͰϏϧυΩϟογϡΛར༻͢ΔˠճҎ߱͘ͳΔ w $*ͰϞδϡʔϧΩϟογϡΛར༻͢ΔˠճҎ߱͘ͳΔ w ར༻͍ͯ͠ͳ͍ίʔυΛআ͢Δˠௐࠪ͠ɺશମͷʹຬͨͳ͍ w ύοέʔδͷׂΛ࠷దԽ͢Δˠ͕͔͔࣌ؒΓ͗͢ΔͨΊɺݟૹΓ
(PϏϧυͷجຊతͳߴԽख๏ w $*ͰϏϧυΩϟογϡΛར༻͢ΔˠճҎ߱͘ͳΔ w $*ͰϞδϡʔϧΩϟογϡΛར༻͢ΔˠճҎ߱͘ͳΔ ΩϟογϡΛΘͳ͍߹Ͱ ͔͔Δͷײʹ͢Δ🤔
ͱ͍͏ͷɺ ։ൃ࣌ͷ$ go run Ͱؾͮͣ͘
ͳΒɺܭଌͩʂ
NJJWFͷϦϙδτϦߏͷ֓ཁ EPNBJONPEFM QBDLBHF ڞ௨ίϯϙʔωϯτ ɾɾɾ CBUDI"DNE NBJOQBDLBHF CBUDI#DNE NBJOQBDLBHF 8FC"1*TFSWFS
NBJOQBDLBHF
NJJWFͷϦϙδτϦߏͷ֓ཁ EPNBJONPEFM QBDLBHF ڞ௨ίϯϙʔωϯτ ɾɾɾ 8FC"1*TFSWFS NBJOQBDLBHF CBUDI"DNE NBJOQBDLBHF CBUDI#DNE
NBJOQBDLBHF ࠷େ͖͍8FC"1*TFSWFSΛ ܭଌͷλʔήοτͱ͢Δ
ϩʔΧϧͰϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time go build
ϩʔΧϧͰϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time go build go
build 65.29s
ϩʔΧϧͰϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time go build go
build 65.29s 👍
NJJWFͷϦϙδτϦߏͷ֓ཁ EPNBJONPEFM QBDLBHF ڞ௨ίϯϙʔωϯτ ɾɾɾ CBUDI"DNE NBJOQBDLBHF CBUDI#DNE NBJOQBDLBHF 8FC"1*TFSWFS
NBJOQBDLBHF શମΛܭଌͷλʔήοτͱ͢Δ
ϩʔΧϧͰશମͷϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time ./build_all.sh
ϩʔΧϧͰશମͷϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time ./build_all.sh ./build_all.sh 265.91s
ϩʔΧϧͰશମͷϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time ./build_all.sh ./build_all.sh 265.91s
🤔 ඵ
NJJWFͷϦϙδτϦߏͷ֓ཁ EPNBJONPEFM QBDLBHF ڞ௨ίϯϙʔωϯτ ɾɾɾ CBUDI"DNE NBJOQBDLBHF CBUDI#DNE NBJOQBDLBHF 8FC"1*TFSWFS
NBJOQBDLBHF #BUDIܥશମͷίʔυྔͷ ະຬ
NJJWFͷϦϙδτϦߏͷ֓ཁ EPNBJONPEFM QBDLBHF ڞ௨ίϯϙʔωϯτ ɾɾɾ CBUDI"DNE NBJOQBDLBHF CBUDI#DNE NBJOQBDLBHF 8FC"1*TFSWFS
NBJOQBDLBHF ڞ௨QBDLBHFΩϟογϡ͔Β ϏϧυεΩοϓ͢Δͣ
7FSCPTFPQUJPOͰಈ࡞Λ֬ೝͯ͠ΈΔ $ go build -v // compileதͷύοέʔδ͕දࣔ͞ΕΔ
7FSCPTFPQUJPOͰಈ࡞Λ֬ೝͯ͠ΈΔ $ go clean -cache $ ./build_all_verbose.sh
7FSCPTFPQUJPOͰಈ࡞Λ֬ೝͯ͠ΈΔ $ go clean -cache $ ./build_all_verbose.sh … math math
math …
͋Εʁ ෳճίϯύΠϧͯ͠Δ🤔
൜ਓ͍ͭ͜
$ go buildΛฒྻͰΒ͍ͤͯͨͨΊ ϏϧυΩϟογϡ͕ޮ͍͍ͯͳ͔ͬͨ
मਖ਼൛ͰϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time ./build_all.sh ./build_all.sh 77.50s
☺
ղܾ👍
ͪͳΈʹ6OJU5FTUͷํͷվળ
6OJU5FTUͷվળ w ͬͱ͕͔͔͍࣌ؒͬͯͨͷ%#ଓͷςετ w %"5"%0(HPUYECΛಋೖͨ͠ ˠඵʹʂ
·ͱΊ w ͿͬͪΌ͚ʮॳظઃఆ࣌ͷϛεʯ w ਪଌ͢ΔͳɺܭଌͤΑ w (PͷϏϧυ͍͢͝ʂ
࠷ޙʹNJJWFʹ͍ͭͯͷհ
w ΧʔυYΞϓϦͰΧϯλϯརްੜ w αʔόʔ(P w 8FC3FBDU w ϞόΠϧ3FBDU/BUJWF w ࠾༻ڧԽதͰ͢
ɹ8FBSFIJSJOH