タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

scalaとprogrammingに関するmainyaaのブックマーク (3)

  • wavelet行列で高速な「もしかして友だち?」検索 | 株式会社サイバーエージェント

    業務経歴: Sierでのソフトウェア開発・大手メディアでのサービス運用を経て2012年サイバーエージェント入社。 アメーバ事業部コミュニティサービスの開発責任者を経て、現在はアドテクスタジオで広告配信技術に注力。 好きな分野はグラフ探索とチューリングマシン。 ソーシャルサービスでは、ユーザ間のつながりやユーザ同士の類似性がとても重要です。 つながりの近いユーザや自分と似ているユーザを「もしかして友だち?」とサジェストすることでユーザ間のつながりを伸展させることができます。 そこで、ユーザの「つながり」具合が似ているユーザを「友だちかもしれないユーザ」としてサジェストを行うことを考えました。 しかし「つながり」のデータというのはユーザ数のベキ乗であるため、容量が大きくなりやすい性質があります。 即ち、「つながり」類似度の算出には時間がかかる、ということです。 この「つながり」類似度算出

  • バグから学ぶ計算機科学 Scalaのハッシュテーブルにおいて並列コレクションのためのコード変更が大量の衝突を引き起こした事例

    バグから学ぶ計算機科学 Scalaのハッシュテーブルにおいて並列コレクションのためのコード変更が大量の衝突を引き起こした事例 書いた人: ると 書いた日: 2012年1月21日 はじめに Twitterで「有名なオープンソースソフトで今まであったおもしろいバグを解説したとかないだろうか」とツイートしたらそれなりに需要があるようでした。そこで先ず隗より始めよという故事にのっとり、死馬の骨としてバグ解説記事を書いてみます。 今回のバグはScala 2.9の標準ライブラリに含まれるmutable.HashSet(ハッシュテーブルを使った重複無しコレクション)のコピーがJavaの標準ライブラリに含まれるHashSetの100倍遅いというバグです。並列コレクションのためにぱっと見問題の無い変更を加えたら思わぬところで影響が出たというものです。 なお、今回はScalaに関するバグですが、Scala

  • マルチコア危機:ScalaとErlangの対立

    ブロゴスフィアでは最近Scala対Erlangの議論がややヒートし続けている。マルチコアの世界(参考記事)が訪れようとしている今、いかにマルチコア危機を解決するかが問題になっている。ScalaとErlangはその解決法たらんとしている言語だが、少し違いがある。それぞれのアプローチの長所短所はなんだろうか? 問題 ムーアの法則はもう通用しない。かつてのようなクロック周波数の向上(リンク)は見込めず、かわりにコアの数を増やそうとしている。今の時代、あなたのノートPCでさえも2つコアを搭載していることだろう。 2つ以上のコアを有効に使うには、アプリケーションが並列処理を意識してないといけない。もしあなたの顧客が8コアのマシンを買ったとしたら、たとえそれをあるアプリケーションの専用マシンにしたとしても、そのアプリケーションがCPU性能の12%しか使えなくてもおかしくない、とあなたは顧客にどうにかし

    マルチコア危機:ScalaとErlangの対立
  • 1