![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
鮮やかすぎるライブコーディング!よりAwesomeな #golang ! #yapcasia #yapcasiaA
Profiling & Optimizing in Go - YAPC::Asia Tokyo 2015
http://yapcasia.org/2015/talk/show/6bde6c69-187a-11e5-aca1-525412004261
![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
Go で Go 自身のコンパイラ書いた時はこういうプロファイリングツールを活用してるんだろうなぁ #yapcasia
2015-08-22 15:52:53![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
Bradさん: 正規表現のコンパイルが95%の時間を使っていたので、初期化に追い出すと速くなった #yapcasia #yapcasiaA
2015-08-22 15:54:26![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
紹介してるコマンドの説明あった github.com/bradfitz/talk-… #yapcasiaA
2015-08-22 15:56:02![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
go のプロファイリングツール充実し過ぎでは…… #yapcasia #yapcasiaA
2015-08-22 15:58:58![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
後でライブデモの復習をここを参考にやってみよう ここまで丁寧に準備しているなんて素晴らしい - github.com/bradfitz/talk-… #yapcasia #yapcasiaA
2015-08-22 15:59:42![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
Bradさん: レスポンスヘッダを設定するときに文字列がコピーされている。content-typeの出力を消してみるとメモリ使用量が減った #yapcasia #yapcasiaA
2015-08-22 16:00:23![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
Bradさん: 今度はbodyの文字列連結が遅いことがわかる。文字列連結ををFprintFにすることによって連結がなくなる。これによりメモリ使用量が68%減った #yapcasia #yapcasiaA
2015-08-22 16:01:22![](https://tgfile.tg-static.com/static/web/img/placeholder.gif)
Bradさん: まだ60MBくらいメモリallocがある。disasmコマンドで逆アセンブルしてみると、Goインタプリタ内のstringオブジェクトのオーバーヘッドがあることがわかる #yapcasia #yapcasiaA
2015-08-22 16:03:19