2010年11月16日のブックマーク (7件)

  • パレートの法則 8:2の法則

    パレートの法則(パレートのほうそく)は、イタリアの経済学者ヴィルフレド・パレートが発見した冪乗則。経済において、全体の数値の大部分は、全体を構成するうちの一部の要素が生み出しているとした。80:20の法則、スケールフリー性、ばらつきの法則、冪乗法則などの別称がある。 パレートは所得統計を分析して、所得分布が安定的であり、時代によって変化しないという結論を出した。この結論からは、社会の所得格差は平等にならないが、不平等も強化されないことになる[1]。パレートの法則は、関数のパラメータ(パレート指数)によって所得分布を時間・空間的に比較したもので、貧困についての最初の数学的な研究ともいわれている[注釈 1][3]。 しかし、パレートが発表した当時から難点があった。パレートの法則は低所得層に当てはまらないという問題があり、パレート自身も認めていた[3]。パレートが用いた統計はイタリアやスイスのい

    sse
    sse 2010/11/16
    >プログラムの処理にかかる時間の80%はコード全体の20%の部分が占める。
  • KMC Staff Blog:AndroidのNDKツールを使ってrubyをビルドして動かす

    2010年08月26日 AndroidのNDKツールを使ってrubyをビルドして動かす 前回の知識を使ってNDKのツールで先日リリースされたruby-1.9.2をビルドしてAndroid上で動かしてみました。 (2011.7.21) アップデート記事を書きました。 RubyAndroid用にビルドする 開発環境にはUbuntu 9.04 (x86_64)を使っています。 準備 ruby 1.9.2をクロスビルドするためには、そのホストruby 1.9.2がインストールされている必要があります。(ビルド中に実行されるrubyスクリプトが1.9.2用になっているため。) $ tar xvf ruby-1.9.2-p0.tar.bz2 $ mkdir obj $ cd obj $ ../ruby-1.9.2-p0.android/configure $ make $ sudo make in

    sse
    sse 2010/11/16
    Ruby on Android
  • KMC Staff Blog:AndroidのZygoteでのJavaのクラスのpreloading

    2010年10月14日 AndroidのZygoteでのJavaのクラスのpreloading Androidの起動時に最初のDalvikVMのプロセスであるZygoteではJavaのクラスのpreloadingというテクニックが使われています。 全てのJavaのプロセスはZygoteからforkして作られるので、Zygoteでpreloadingされたクラスは、新しいJavaのプロセスでは最初からロードされた状態から始まります。これによって、個々のJavaのプロセスの起動の高速化とシステム全体としてのメモリ使用量の削減を実現しています。 このクラスのpreloadingというのは、さぞかし特別なことをやっていると思いきや、 そのソースはとても単純なものでした。 少し長いですが、そのpreloadingを行っているメソッドのソースをまるごと貼付けてみます。 frameworks/base/

    sse
    sse 2010/11/16
    起動高速化のヒントになるかもしれない
  • KMC Staff Blog:DalvikVMのJITのON/OFFに関するTips

    2010年11月04日 DalvikVMのJITのON/OFFに関するTips DalvikVMのJITのON/OFFについて少し調べました。 JITが使えるようにビルドされているかどうか確認する方法 JITをオフにして動かす方法 アプリごとにJITをオフにする方法 システム全体でJITをオフにする方法 JITが使えるようにビルドされているかどうか確認する方法 具体的にはWITH_JITが定義されている状態でビルドされたかどうかということになります。 シリアルコンソールかadb shellで dalvikvm -help として、最後のほうに出てくるConfigured with: の行でjitと出るかどうかでわかります。 以下はWITH_JITが定義されている状態の実行結果です。 # dalvikvm -help dalvikvm: [options] class [argument .

  • KMC Staff Blog:AndroidのSDKのgoldfishのCPUをcortex-A8に置き換えてNEONのSIMD命令を試す(その2)

    2009年08月26日 AndroidのSDKのgoldfishのCPUをcortex-A8に置き換えてNEONのSIMD命令を試す(その2) 前回はgoldfishのカーネルをcortex-A8向けにリビルドしてemulatorで起動するところまでを紹介しました。 ここで一気にユーザーランドもcortex-A8用にリビルドしてみたいところですが、単純にコンパイルオプションを変えただけではうまくいきませんでした。アセンブラで書いてある所などは書き換えが必要になりそうです。 そこで、今回はまだユーザーランドはarmv5te用のままで使用し、NDKを使って一部の共有ライブラリだけをcortex-a8用にコンパイルし、そこでNEONのSIMD命令を試してみることにします。 2009年11月のEclairのソースリリースでだいぶ状況が変わっています。こちらも参照してください。 NEONのSIMD命

  • KMC Staff Blog:gccでNEONのSIMD命令を生成させる方法

    2009年09月10日 gccでNEONのSIMD命令を生成させる方法 この記事ではgcc 4.4.0を使用しています。もっと新しいgccの場合はこちら。 2013年06月27日 ARMのNEONのSIMD命令をgccのオートベクタライズの最適化で使う方法 AndroidのSDKのgoldfishのCPUをcortex-A8に置き換えてNEONのSIMD命令を試す(その2) のときにはarm_neon.hに定義されているintrinsicsを使ってNEONのSIMD命令を生成させました。この方法だとNEONの命令について詳細を知っていなければなりませんし、なによりもそのプログラムがNEONに依存したものになってしまいます。 今回はコンパイラの最適化の機能を使ってNEONのSIMD命令を生成させるコツを紹介します。 以前にSIMD演算のサンプルとしてこんなプログラムを書きました。 void

  • Android NDK  |  Android Developers

    Build AI experiences Build AI-powered Android apps with Gemini APIs and more. Get started Start by creating your first app. Go deeper with our training courses or explore app development on your own.

    Android NDK  |  Android Developers
    sse
    sse 2010/11/16
    NDK(Native Development Kit) 主にARM CPU向け SIMD(NEON)対応