タグ

2015年9月28日のブックマーク (5件)

  • SQL初心者の留年野郎がISUCON予選通過した方法 - UIU

    休日にISUCONというコンテストの予選に参加した。ISUCONというのはWebアプリケーションをいかに高速化できるかを競うコンテスト。スポンサーはLINE社などで賞金は100万円で豪華。 ISUCON5 選出場者決定のお知らせ 大学の同じサークルの pastak, nonamea774 と「チーム学生自治」というチーム名で出場した。ちなみに、休学中の僕を含めて三人とも大学で留年しており、今もなお卒業の目処はたっていない。 ISUCONでは初めの環境としてMySQLが与えられることが多いのだけど、チームメンバーは三人ともRails生まれMongoDB育ちという感じで、MySQLはSELECT文をかろうじて知っているという程度で、パフォーマンス改善の経験もあまりなかった。 それでも運良く15079点の成績で予選を通過できた(しかも学生枠ではなく)。予選でやったことを書いてみます。 準備はチ

    SQL初心者の留年野郎がISUCON予選通過した方法 - UIU
    kamipo
    kamipo 2015/09/28
  • ISUCON5予選に参加して2位で予選通過しました - blog.nomadscafe.jp

    ISUCON5 の予選にメルカリのインフラ系エンジニアで結成したチーム「GoBold」で参加して、無事2位で通過しました。チームのメンバーは、@cubicdaiya、@shmorimo、@kazeburoの3人で、普段から横にならんで座って、メルカリのパフォーマンス改善やサーバ環境の整備に携わっています。 今回の予選問題、ずいぶん盛ってきたなーというのが最初の印象。モリスさんも予選問題を選のようにしたいと言っていたし、その通りになっていました。マシンの性能に対しての扱うデータ量もメモリに乗り切らないであろうスレスレのラインでkamipoさんの調整も神だなと思いました。おかげでやることが満載だし、素晴らしい問題でした。運営の941さんも含め当にお疲れさまでした。選もよろしくお願いします。 チームのメンバーのblog ISUCON5予選 2位で通過しました - 考える人、コードを書く人

    kamipo
    kamipo 2015/09/28
  • ISUCON5予選を全体1位で通過しました - 酒日記 はてな支店

    ISUCON5 の予選1日目にチーム「fujiwara組」(@fujiwara, @songmu, @sugyan) として参加して、全体通して1位のスコアで通過しました。 isucon.net 今回は ISUCON 1 の時の優勝チームを再結成という形になったわけですが、最初はISUCON 4の時と同じ社内のチームででようかと思ってたんですよね。ところが昨年優勝チームだった「LINE選抜 生ハム原木」が今回参戦できないということで、sugyanがチームどうしよう、と困っていたのでつい…*1 初代fujiwara組を再結成しよう— fujiwara (@fujiwara) 2015, 5月 27 準備 今回はOSは Ubuntu(バージョン非公開)なのが事前にレギュレーションで公開されていたので(前年まではCentOS, Amazon LinuxなどのRedHat系ディストリビューションで

    ISUCON5予選を全体1位で通過しました - 酒日記 はてな支店
    kamipo
    kamipo 2015/09/28
    つよい
  • ISUCON5予選でスコア34000を出す方法 - Qiita

    今回のISUCONについて Gunosyの@y_matsuwitterです。 今回のISUCONは去年と同様チーム.datとして、 @y_matsuwitter => プロセスキャッシュ中心の最終兵器作成 @TakatoshiMaeda => 予選に向けたツールの用意と司令塔、分析 @kanny => インフラ周り中心にボトルネック改善 と言う構成で、自分一人Go実装に突っ走るような布陣で望みました。 課題はMixiライクなSNSの実装で、割と色々なJOINが走らざるを得ない、短時間で高速化するには厄介な課題でした。 今回の結果としては日曜一位通過でき、一安心というところです。 また、予選中、両日含め最高スコアの34382を出せました。 事前準備 事前に色々と調査とすぐ使える形のサンプルコード書き溜めて置きました。 Goでのunix domain socketの扱い signalの受け取り

    ISUCON5予選でスコア34000を出す方法 - Qiita
    kamipo
    kamipo 2015/09/28
    すごい
  • Big Sky :: golang でスライスの先頭に追加する append がなぜ遅いのか

    Go - ISUCON5予選でスコア34000を出す方法 - Qiita Goで下記のようなsliceの先頭にひたすらオブジェクトを追加する処理を書く際は、不必要に長いsliceにならないよう注意しましょう。負荷が非常に高い処理になります。 hoge := []int{} for _, comment := range comments { hoge = append([]int{comment.ID}, hoge...) } http://qiita.com/y_matsuwitter/items/771020ebb68c07053548 append は第一引数のスライスに第二引数以降の可変個アイテムを追加する関数です。なるべく呼ばれない実装が良いです。どうしても多いアイテムを扱う場合は出来れば以下の様に書くのが良いです。 参考: https://blog.golang.org/sli

    Big Sky :: golang でスライスの先頭に追加する append がなぜ遅いのか
    kamipo
    kamipo 2015/09/28