タグ

2012年12月7日のブックマーク (2件)

  • sbt 0.12.x から導入された binary version について - tototoshi の日記

    Play 2.1-RC1 を使おうとしたらいろいろハマったのでまとめました。 scala 2.9系, sbt 0.11系 までの依存管理 scala の異なるバージョンのScala用にビルドされたライブラリは使えないことがあります。 例えば、Scala2.8と2.9ではバイナリ互換性がないので、2.8向けにコンパイルされたライブラリは、2.9のプロダクトで使用することはできません。 使用すると、クラスが見つかりません、メソッドが見つかりません、など、まあなんらかのエラーで死にます。 この問題があるため、ScalaではライブラリのバージョンをScalaのバージョン込みで管理する必要があります。 artifactID の後ろに Scala のバージョンをくっつけるのがスタンダードです。 libraryDependencies += "com.example" % "utility_2.9.1"

    sbt 0.12.x から導入された binary version について - tototoshi の日記
    chuwb
    chuwb 2012/12/07
  • 2010-12-22

    この記事は カーネル/VM Advent Calendar http://atnd.org/events/10701 のために書かれました。 これまで複数回に渡ってlock-freeデータ構造を紹介して来ましたが そもそもの前提を話していなかったり目的も不明だったりと不備だった点があったので 根元から一度おさらいしてみたいと思います。 まずロックを用いる事の欠点から 上図のような構図でロックによる相互排他を行うと様々な問題が発生します。 具体的に言うと排他に成功したスレッドに様々な災難が降りかかります。 主な事例として ↑ロック確保できたのにOSによってプリエンプションされる。 ↑物理メモリに乗ってない仮想メモリにアクセスしてしまった。 ↑キャッシュミスヒットによるメモリ待ち。 そんなに気にするほどのパフォーマンス低下ではないと思うかも知れませんが マルチコアの方向へ舵を切った新世代CPU

    2010-12-22