タグ

2011年6月14日のブックマーク (2件)

  • どの音がドでどの音がレなのか驚くほど分かるようになる音感マスターツール「音感トレーニング」 - GIGAZINE

    音楽は好きだけど、音感に自信が無いのでカラオケが苦手、楽器に手を出しづらいという人は多いのではないでしょうか。フリーの音感マスターツール「音感トレーニング」は、そんな音感コンプレックスを解消してくれるきっかけになってくれそうなツールです。 このツールは、ある音をピアノの鍵盤上から探し出すゲーム形式のトレーニングツールで、ブラウザ上で手軽に遊ぶことができます。そもそも自分がどの程度音の高低を認識できるのか、ほとんどの人は試した事が無いのではないかと思われますが、実際にやってみると意外と音を当てることができて、自信をつけることができるかも知れません。 「音感トレーニング」についての詳細は以下から。音感マスターツール「音感トレーニング」(初級) | Project IDEEILE 「音感トレーニング」の全体画面はこんな感じのシンプルなものです。 上段が問題で、「Level.1」のように書かれた各

    どの音がドでどの音がレなのか驚くほど分かるようになる音感マスターツール「音感トレーニング」 - GIGAZINE
  • 動的型情報で仮想関数呼び出しを速くできるか

    C++は抽象化と高いパフォーマンスを両立させるにはtemplateを使うのがセオリーでした。そのため、標準ライブラリはtemplateを使っています。一方のJavaは、積極的に仮想関数を使っています。しかし、Javaは動的型情報を使った実行時インライン展開ができるため、C++と違って疎結合のまま高いパフォーマンスを出すことが出来ました。しかし、よく考えれば、C++でも実装クラスが限定されるなら、Javaと同様なことをハードコードすることでC++の仮想関数を高速ができるのではと思って試してみました。 結論から言うと、一応速くなりました。でも、インライン展開を抑制しなければいけないほどの効果が出るのは、かなり限定的のようです。 さて、順を追って説明します。 まず、C++では仮想関数を使うと遅くなるというはなし。C++で仮想関数を使うと、仮想関数テーブルが作られます。そして、関数呼び出しが起こる