Slide 1

Slide 1 text

TBUPTIJO (PϏϧυΛཧղ͠ɺ $*$%ͷߴ଎Խʹ௅Ή NJJWFͰ෼ˠ෼Λ࣮ݱͨ͠վળࣄྫ

Slide 2

Slide 2 text

NJJWFͷ$*$%ͷྲྀΕ

Slide 3

Slide 3 text

NJJWFͷ$*$%ͷྲྀΕʢվળલʣ 6OJU5FTU ෼ %FQMPZ UP"84&$4 ෼ &&5FTU ෼ -JOU ෼ #VJME ෼ ߹ܭ෼

Slide 4

Slide 4 text

NJJWFͷ$*$%ͷྲྀΕʢվળલʣ 6OJU5FTU ෼ %FQMPZ UP"84&$4 ෼ &&5FTU ෼ -JOU ෼ #VJME ෼ ߹ܭ෼

Slide 5

Slide 5 text

NJJWFͷ$*$%ͷྲྀΕʢվળલʣ 6OJU5FTU ෼ඵ %FQMPZ UP"84&$4 ෼ &&5FTU ෼ -JOU ෼ #VJME ෼ඵ ߹ܭ෼

Slide 6

Slide 6 text

NJJWFͷ$*$%ͷྲྀΕʢվળલʣ 6OJU5FTU ෼ඵ %FQMPZ UP"84&$4 ෼ &&5FTU ෼ -JOU ෼ #VJME ෼ඵ ͜͜ʹࢸΔ·Ͱ

Slide 7

Slide 7 text

·ͣ͸(PͷϏϧυΛͪΌΜͱ஌Ζ͏ʂ $ go build

Slide 8

Slide 8 text

(PͷϏϧυͷಛ௃ w Ϗϧυޙͷ୯ҰόΠφϦͰಈ͖ɺ࣮ߦ؀ڥʹ(PͷΠϯετʔϧ͸ෆཁ w ΫϩείϯύΠϧʹΑΓɺ$*$%ͷઃఆָ͕ w ϏϧυΩϟογϡͷػߏ͕૊Έࠐ·Ε͍ͯΔ

Slide 9

Slide 9 text

(PͷϏϧυͷಛ௃ w Ϗϧυޙͷ୯ҰόΠφϦͰಈ͖ɺ࣮ߦ؀ڥʹ(PͷΠϯετʔϧ͸ෆཁ w ΫϩείϯύΠϧʹΑΓɺ$*$%ͷઃఆָ͕ w ϏϧυΩϟογϡͷػߏ͕૊Έࠐ·Ε͍ͯΔ

Slide 10

Slide 10 text

࣮ߦ؀ڥʹ(P͸ෆཁ 04 +BWB7JSUVBM.BDIJOF KBSϑΝΠϧ 04 (Pͷ୯ҰόΠφϦ ࣮ߦϑΝΠϧ

Slide 11

Slide 11 text

࣮ߦ؀ڥʹ(P͸ෆཁ w ґଘ͢Δ΋ͷ͕গͳ͍ͷͰ w ؅ཧָ͕ w ηΩϡΞ w αʔόʔͷ্ཱ͕ͪΓ͕ૣ͍ w ࣮ߦ଎౓ɾϝϞϦফඅྔͰ༗ར 04 (Pͷ୯ҰόΠφϦ ࣮ߦϑΝΠϧ

Slide 12

Slide 12 text

(PͷϏϧυͷಛ௃ w Ϗϧυޙͷ୯ҰόΠφϦͰಈ͖ɺ࣮ߦ؀ڥʹ(PͷΠϯετʔϧ͸ෆཁ w ΫϩείϯύΠϧʹΑΓɺ$*$%ͷઃఆָ͕ w ϏϧυΩϟογϡͷػߏ͕૊Έࠐ·Ε͍ͯΔ

Slide 13

Slide 13 text

ΫϩείϯύΠϧ͕Մೳ $*؀ڥ6CVOUV $ GOOS=windows \ GOARCH=amd64 \ go build -o app ࣮ߦ؀ڥ8JOEPXTTFSWFSBNE BQQFYF BQQFYF $PQZ

Slide 14

Slide 14 text

(PͷϏϧυͷಛ௃ w ΫϩείϯύΠϧʹΑΓɺ$*$%ͷઃఆָ͕ w Ϗϧυޙͷ୯ҰόΠφϦͰಈ͖ɺ࣮ߦ؀ڥʹ(PͷΠϯετʔϧ͸ෆཁ w ϏϧυΩϟογϡͷػߏ͕૊Έࠐ·Ε͍ͯΔ $ go build

Slide 15

Slide 15 text

(PͷϏϧυϑϩʔͷ֓ཁ ґଘؔ܎ͷղܾ ίϯύΠϧ $ go tool compile ύοέʔδຖʹPCKੜ੒ ϦϯΫ $ go tool link 0CKΛ౷߹͠ɺ ࣮ߦϑΝΠϧΛੜ੒ HPͷ࣮ߦϑΝΠϧ

Slide 16

Slide 16 text

(PͷϏϧυϑϩʔͷ֓ཁ ґଘؔ܎ͷղܾ ίϯύΠϧ $ go tool compile ύοέʔδຖʹPCKੜ੒ ϦϯΫ $ go tool link 0CKΛ౷߹͠ɺ ࣮ߦϑΝΠϧΛੜ੒ HPͷ࣮ߦϑΝΠϧ ύοέʔδຖͷPCK͕Ωϟογϡ͞Ε มߋ͕ͳ͍ύοέʔδͷίϯύΠϧ͸εΩοϓ

Slide 17

Slide 17 text

(PͷϏϧυͷಛ௃ w ΫϩείϯύΠϧʹΑΓɺ$*$%ͷઃఆָ͕ w Ϗϧυޙͷ୯ҰόΠφϦͰಈ͖ɺ࣮ߦ؀ڥʹ(PͷΠϯετʔϧ͸ෆཁ w ϏϧυΩϟογϡͷػߏ͕૊Έࠐ·Ε͍ͯΔ

Slide 18

Slide 18 text

$*$%Λૣ͘͢Δखஈͷ ௐࠪ։࢝

Slide 19

Slide 19 text

(PϏϧυͷجຊతͳߴ଎Խख๏ w $*ͰϏϧυΩϟογϡΛར༻͢Δ w $*ͰϞδϡʔϧΩϟογϡΛར༻͢Δ w ར༻͍ͯ͠ͳ͍ίʔυΛ࡟আ͢Δ w ύοέʔδͷ෼ׂΛ࠷దԽ͢Δ

Slide 20

Slide 20 text

(PϏϧυͷجຊతͳߴ଎Խख๏ w $*ͰϏϧυΩϟογϡΛར༻͢Δˠճ໨Ҏ߱͸଎͘ͳΔ w $*ͰϞδϡʔϧΩϟογϡΛར༻͢Δˠճ໨Ҏ߱͸଎͘ͳΔ w ར༻͍ͯ͠ͳ͍ίʔυΛ࡟আ͢Δˠௐࠪ͠ɺશମͷʹ΋ຬͨͳ͍ w ύοέʔδͷ෼ׂΛ࠷దԽ͢Δˠ͕͔͔࣌ؒΓ͗͢ΔͨΊɺݟૹΓ

Slide 21

Slide 21 text

(PϏϧυͷجຊతͳߴ଎Խख๏ w $*ͰϏϧυΩϟογϡΛར༻͢Δˠճ໨Ҏ߱͸଎͘ͳΔ w $*ͰϞδϡʔϧΩϟογϡΛར༻͢Δˠճ໨Ҏ߱͸଎͘ͳΔ ΩϟογϡΛ࢖Θͳ͍৔߹Ͱ΋ ෼΋͔͔Δͷ͸௚ײʹ൓͢Δ🤔

Slide 22

Slide 22 text

ͱ͍͏ͷ΋ɺ ։ൃ࣌ͷ$ go run Ͱؾͮ͘͸ͣ

Slide 23

Slide 23 text

ͳΒ͹ɺܭଌͩʂ

Slide 24

Slide 24 text

NJJWFͷϦϙδτϦߏ੒ͷ֓ཁ EPNBJONPEFM QBDLBHF ڞ௨ίϯϙʔωϯτ ɾɾɾ CBUDI"DNE NBJOQBDLBHF CBUDI#DNE NBJOQBDLBHF 8FC"1*TFSWFS NBJOQBDLBHF

Slide 25

Slide 25 text

NJJWFͷϦϙδτϦߏ੒ͷ֓ཁ EPNBJONPEFM QBDLBHF ڞ௨ίϯϙʔωϯτ ɾɾɾ 8FC"1*TFSWFS NBJOQBDLBHF CBUDI"DNE NBJOQBDLBHF CBUDI#DNE NBJOQBDLBHF ࠷΋େ͖͍8FC"1*TFSWFSΛ ܭଌͷλʔήοτͱ͢Δ

Slide 26

Slide 26 text

ϩʔΧϧͰϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time go build

Slide 27

Slide 27 text

ϩʔΧϧͰϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time go build go build 65.29s

Slide 28

Slide 28 text

ϩʔΧϧͰϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time go build go build 65.29s 👍

Slide 29

Slide 29 text

NJJWFͷϦϙδτϦߏ੒ͷ֓ཁ EPNBJONPEFM QBDLBHF ڞ௨ίϯϙʔωϯτ ɾɾɾ CBUDI"DNE NBJOQBDLBHF CBUDI#DNE NBJOQBDLBHF 8FC"1*TFSWFS NBJOQBDLBHF શମΛܭଌͷλʔήοτͱ͢Δ

Slide 30

Slide 30 text

ϩʔΧϧͰશମͷϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time ./build_all.sh

Slide 31

Slide 31 text

ϩʔΧϧͰશମͷϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time ./build_all.sh ./build_all.sh 265.91s

Slide 32

Slide 32 text

ϩʔΧϧͰશମͷϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time ./build_all.sh ./build_all.sh 265.91s 🤔 ඵ

Slide 33

Slide 33 text

NJJWFͷϦϙδτϦߏ੒ͷ֓ཁ EPNBJONPEFM QBDLBHF ڞ௨ίϯϙʔωϯτ ɾɾɾ CBUDI"DNE NBJOQBDLBHF CBUDI#DNE NBJOQBDLBHF 8FC"1*TFSWFS NBJOQBDLBHF #BUDIܥ͸શମͷίʔυྔͷ ະຬ

Slide 34

Slide 34 text

NJJWFͷϦϙδτϦߏ੒ͷ֓ཁ EPNBJONPEFM QBDLBHF ڞ௨ίϯϙʔωϯτ ɾɾɾ CBUDI"DNE NBJOQBDLBHF CBUDI#DNE NBJOQBDLBHF 8FC"1*TFSWFS NBJOQBDLBHF ڞ௨QBDLBHF͸Ωϟογϡ͔Β Ϗϧυ͸εΩοϓ͢Δ͸ͣ

Slide 35

Slide 35 text

7FSCPTFPQUJPOͰಈ࡞Λ֬ೝͯ͠ΈΔ $ go build -v // compileதͷύοέʔδ͕දࣔ͞ΕΔ

Slide 36

Slide 36 text

7FSCPTFPQUJPOͰಈ࡞Λ֬ೝͯ͠ΈΔ $ go clean -cache $ ./build_all_verbose.sh

Slide 37

Slide 37 text

7FSCPTFPQUJPOͰಈ࡞Λ֬ೝͯ͠ΈΔ $ go clean -cache $ ./build_all_verbose.sh … math math math …

Slide 38

Slide 38 text

͋Εʁ ෳ਺ճίϯύΠϧͯ͠Δ🤔

Slide 39

Slide 39 text

൜ਓ͸͍ͭ͜

Slide 40

Slide 40 text

$ go buildΛฒྻͰ૸Β͍ͤͯͨͨΊ ϏϧυΩϟογϡ͕ޮ͍͍ͯͳ͔ͬͨ

Slide 41

Slide 41 text

मਖ਼൛ͰϏϧυ࣌ؒΛܭଌͯ͠ΈΔ $ go clean -cache $ time ./build_all.sh ./build_all.sh 77.50s ☺

Slide 42

Slide 42 text

ղܾ👍

Slide 43

Slide 43 text

ͪͳΈʹ6OJU5FTUͷํͷվળ

Slide 44

Slide 44 text

6OJU5FTUͷ଎౓վળ w ΋ͬͱ΋͕͔͔͍࣌ؒͬͯͨͷ͸%#઀ଓͷςετ w %"5"%0(HPUYECΛಋೖͨ͠ ෼ˠ෼ඵʹʂ

Slide 45

Slide 45 text

·ͱΊ w ͿͬͪΌ͚ʮॳظઃఆ࣌ͷϛεʯ w ਪଌ͢ΔͳɺܭଌͤΑ w (PͷϏϧυ͸͍͢͝ʂ

Slide 46

Slide 46 text

࠷ޙʹNJJWFʹ͍ͭͯͷ঺հ

Slide 47

Slide 47 text

w ΧʔυYΞϓϦͰΧϯλϯ෱རްੜ w αʔόʔ͸(P w 8FC͸3FBDU w ϞόΠϧ͸3FBDU/BUJWF w ࠾༻ڧԽதͰ͢ ɹ8FBSFIJSJOH