タグ

ブックマーク / radiumsoftware.tumblr.com (3)

  • 速く動くコードの書き方

    How to write fast code - assertTrue() 「CPUというものは……」 彼は言った。 「ある一定の速度で動く。それは1秒間に決まった数の命令を処理することができるが、それ以上はない。1秒間に実行される命令の数には有限個の上限が存在するわけだ。そうだな?」 「そうです」私は言った。 「つまり、コードを速く動かす方法なんでものは存在しないんだ。命令を速く実行する方法が無いんだからな。唯一あるのは、マシンがやることを少なくするということだけだ。」 彼は強調するために間を置いた。 「速くするには」彼はゆっくりと言った「少なくしろ」 プログラムの高速化には様々なテクニックが存在する。でも、すべての根底にあるのは、マシンが行うことを少なくするということだ。 熟練したプログラマーたちが高速に動作するプログラムを書けるのは、彼らが何か魔法のようなものを使ってマシンを速く動か

  • Keijiro's Dev Log

    DIYing the home studio. I finished the floor and walls.

  • 指数関数を使ったお手軽イーズ・アウト

    (この記事にはProcessing.jsによるスケッチがいくつか組み込まれています。環境によっては正しく再生されないかもしれません。Chrome, Safari, Firefox等の使用をおすすめします。) 「丸が1秒おきに左右に滑らか動く」というプログラムを書いてみよう。いちばん簡単なのは、線形移動を使う方法だ。 まあ、これでも十分っちゃ十分なんだけれど、動きとしてはちょっと味気ない。 いわゆるイーズアウト(ease out)を使えば、これを滑らかにすることができる。 上のスケッチでは、漸化式を使ったイーズアウトを実装している。こんな感じの式だ。 pos += (target - pos) * 0.1; pos は現在座標、 target は目標の座標。この式を1回の描画毎に評価する。目標座標までの差分を1割づつ詰めていくような感じ。差分は毎回少なくなっていくから、最初は早く、徐々に遅く

    memigu
    memigu 2011/04/30
  • 1