タグ

ブックマーク / mindcat.hatenadiary.org (4)

  • Canvasのベンチマークテストを作って速度を比較してみた - 風と宇宙とプログラム

    はじめに Canvasのパフォーマンスを測定するベンチマークプログラムはそこら中に転がっていますが、ほんの一部分の測定だったり、逆に中身が複雑過ぎたりと僕が希望するようなものが見当たらなかったので、自分で作って各ブラウザで測定してみました。 測定したブラウザのバージョンは以下です。 Chrome Firefox Safari Opera 9.0.570.1 dev 3.6.12 5.0.2 10.63 ベンチマーク 作成したベンチマークプログラムは単位時間で描画関数を何回繰り返して実行できるかという単純なものです。実行中に描画される絵のいくつかを載せておきます。 hlinebezierfill_arcfill_starsimage_scaleradial_gradient 以下に全測定項目の概要を記します。 hline ひたすら水平方向の直線を描きます。 vline 垂直方向の直線 lin

    Canvasのベンチマークテストを作って速度を比較してみた - 風と宇宙とプログラム
  • 驚きいっぱいのJavaScript? - 風と宇宙とプログラム

    言語やインタフェースの設計には「驚き最小の原則」というのがある。まつもとさん人はそんなこと言っていないようだが、かつて、Rubyはその原則に沿った言語と言われていた。一方、JavaScriptはそれに反する言語と未だに見なされているようだ。多くの場合、よく理解していないのが原因である。理解した上でも、やっぱりおかしいよ、というのもあるかも知れないが、じゃ、その場合どう定義したらよいんだ、というのはいろいろ難しい問題がある。 wtfjs(http://wtfjs.com/)にはJavaScriptのそんな「変な挙動」が集められている。wtfなんてタイトルをつけているくらいなので、あまり真面目に見る必要はないのかも知れないけれど、主なものについて古い順から軽く解説してみた。ちなみに、wtfはWhat The F*ckの略。 typeof NaN === 'number' // true In

    驚きいっぱいのJavaScript? - 風と宇宙とプログラム
  • Operaだけ何故か極端に高速な正規表現パターン - 風と宇宙とプログラム

    とても単純な正規表現だけれど、照合するのに非常に時間のかかるパターンがあります。下記はその一例。 var s = "abcdefghijklmnopqrstuvwxyz".match(/a(.+)+c/); 照合することは一目瞭然です。しかし、+ は最長一致型の照合なので2重のバックトラックが発生して、上の文字列の場合、一番最後になって照合が確認されることになります。たぶん、直感的には入力文字列の長さに応じて指数オーダで時間がかかるのだと思います。 実際にブラウザ上で確認すると、ChromeとIEは数秒程度かかりました。Firefoxは「警告:応答のないスクリプト」のポップアップが表示されてしまいました。 ところが、Operaは一瞬です。Date関数で処理時間を測定してもゼロです。Safariも結構高速で、数ミリ秒程度です。 通常、正規表現の実行は、オートマトンを実行する中間コードにコンパ

    Operaだけ何故か極端に高速な正規表現パターン - 風と宇宙とプログラム
    Cherenkov
    Cherenkov 2010/02/28
    "abcdefghijklmnopqrstuvwxyz".match(/a(.+)+c/);
  • FAQ形式によるJavaScriptの本質がわかる超入門 - 風と宇宙とプログラム

    はじめに JavaScriptは簡単な言語のようでいて、実は奥が深く、初心者にとってなかなかその質がわかりにくい言語です。ここでは、JavaScriptの言語的エッセンスを理解できるようなものをFAQ形式で書いてみました。ご意見や誤り等を指摘してもらえたら嬉しいです。 なお、JavaScriptの標準化であるECMAScriptは、今年末にEdition 5 がリリースされる予定です。このFAQは、現在のバージョンであるEdition 3をベースにしています。 ECMAScriptって何ですか? ECMAはEuropean Computer Manufacturer Association(欧州電子計算機工業会)の略で、標準化団体です。NetscapeのJavaScriptMicrosoftのJScriptをベースに、純粋なプログラム言語部分を抽出したものをECMAで標準化したスクリプ

    FAQ形式によるJavaScriptの本質がわかる超入門 - 風と宇宙とプログラム
  • 1