タグ

ブックマーク / golang.rdy.jp (3)

  • GoのパフォーマンスTipsメモ

    パフォーマンス維持のコツをコツコツとメモする リフレクションは最後の手段 パフォーマンスに寄与しない部分でのみ使う。 どこがパフォーマンスに寄与するのかが不透明なうちは使用禁止のほうが良い。 一度使い出すとリフレクションは多用したくなる魔力がある。 メモリ使用量 値は8バイトアライメントに置かれるので基は8バイト長分メモリを専有。 ポインタ変数は64bitCPUで8バイト長 インターフェース型変数は16バイト長〜 (値+型識別) メモリ確保を含む型コンバートは 型キャスト、アサーションに比べると10倍以上遅い。 同じ値なのに「メモリ確保を含む型コンバート」を複数回行う場合は メモリ消費量は増えるが汎用の変数「interface{}」に 値を保存しておいて参照するほうが速度を維持できる。 ゼロメモリアロケーション 高頻度操作におけるメモリアロック1とゼロの間には大きな速度差がある。 可能で

  • Goのアンチパターン

    Go書いててなんとなく見えてきた Goでやっちゃいけないパターン WAF導入してらくらくWebアプリ WAF自体が現在群雄割拠状態。 WAF毎にハンドラインターフェースが違うので既存コードつなぐにはラッパーが必要。 どのWAFもLL言語に比べるとまだまだフィーチャーの網羅範囲が狭い。 なのでもちろんLL言語ほど楽には書けないことが多い。 リフレクション使いまくりでトータル性能はLL言語並みに遅いのもある。 Go1.7のcontextパッケージの導入で標準のHTTPハンドラが復権する可能性があり更に荒れる予想。 追記: 楽できるのを期待してWAFを導入するの「やっちゃいけない」とまでは言い過ぎだったかもしれないけれど例のsqlでPrepareを正しく使えていないで性能出なかった件とか、当面WAFを使うなら自分で概ね中身を理解して使う覚悟が必要。 構造体メソッドにロジックを詰め込む Goの思想

  • HowToMakeThePiano

    お前誰よ おわり モチベーション 一般の ピアノアプリ 子供が大好き 子供が遊ぶ 謎機能起動 戻す 子供が遊ぶ 広告起動 戻す 子供が遊ぶ ソーシャル 機能起動 戻す イライラ! イライラ! もっと シンプルな ピアノが 欲しい〜! とか考えてたら Go Challenge 7 というイベントが! しかもお題がピアノモバイルアプリ! これは是非とも 参加しなくては! というわけで gomobileで ピアノの作り方 アジェンダ 音に関する物理 ピアノの仕組み デジタルオーディオ用語 gomobileでアプリを作る 以上の構成です 今日はGoのカンファレンスに 来ておきながら、 Goの成分少なめです。 まずは一緒に高校物理の復習をしましょう。 Dive into Physics ▼ 音の原理を学ぼう! 音ってなに? 音波に乗って伝搬するもの ですね 音波ってなに? 空気の気圧の疎密波 縦波の

  • 1