タグ

ブックマーク / najeira.blogspot.com (2)

  • Go言語のスタックとヒープ

    GoCon 2013 Autumn で「Go言語のスタックとヒープ」という発表をしました。 資料はこちら: http://goo.gl/s6at62 スライドだけでは分かりにくい部分もあるので、ブロク記事として以下にも記しておきます。(この記事を読めば、スライドは読まなくてOKなはず) スタックとヒープについて 実行時に動的にメモリを確保する領域として、スタックとヒープがある。 スタックメモリは関数のコールスタックを格納していて、ローカル変数、引数、戻り値もここに置かれる。 スタックのPushとPopは高速なので、オブジェクトをスタックメモリに確保するコストは小さい。ただし関数を抜けてスタックがPopされると解放されるので、関数の寿命を超えてオブジェクトは生存できない。 一方のヒープメモリは、コールスタックとは関係ないので、関数スコープに縛られずにオブジェクトを確保しておける。ただし空き領

    Go言語のスタックとヒープ
  • チューニンガソン第二回でお手伝いしてきました

    第一回は参加者としてチューニングに挑みましたが、他の人にもどんどん参加して欲しいので、自分が参加枠を埋めてしまわないよう、お手伝いということで関わりました。 チューニンガソンはインフラエンジニアに焦点をあてているようで、アプリ自体の改造はなし、ミドルウェアやOSのチューニングをしよう、というイベントです。 今回のテーマは「Mediawiki」でした。 あのWikipediaで使用されているソフトウェアです。 サーバはAWSのミディアム2台。 データベースにはWikipedia語版の内容が入っており、DB自体は11GBくらいでした。 サーバのメモリが1.7GBなので、DBはメモリに乗りきらず、ページが読まれるとそれなりのIOが発生しています。また、PHP自体も重いのでCPUもガンガン使います。 1位の人は、ページをディスクキャッシュしてApacheから直接返す、ということをやって優勝でし

  • 1