生涯未熟

生涯未熟

プログラミングをちょこちょこと。

Golang Weekly #168

GitHub - d4l3k/go-pry: An interactive REPL for Go that allows you to drop into your code at any point.

Goでのpry実装。
Rubyを書いていた時にbinding.pryを多用していたので、こちらも使っていきたい。

Benchmarking Go programs, part 2 - Tit Petric

Goにおける再帰処理、sync.Mutexでのdefer、sleepにおけるベンチマーキング。

  • 再帰処理は参照を用いることにより約30%の高速化
  • sync.MutexではdeferによるUnlockを行なう場合、メモリ確保を行なうので遅くなる、手動でやろう (ただし、Go1.9でdeferの最適化がなされているため、そんなに気にしなくてもいいかも)
  • 多くのgoroutine上でtime.sleepを実行すると、Go Schedulerの負荷が高くなりCPU使用率がえらいこっちゃになる

といったことを詳しくベンチマーク結果とともに書いてあります。

今回はここまで。
Go1.9では新しい追加機能の他、こういった細かい所のチューニングが楽しみですね💪