タグ

2007年7月30日のブックマーク (5件)

  • 分割してみる (mitsunari@cybozu labs)

    論理演算2で現れた ・コード1 var x = 0; for (var i = 0; i < 1000000; i++) { x += i; } の処理時間はFirefox(Fx)では1046(ここでは比率のみが焦点なので単位は考えない)でした.ちなみにIEでは141です(小さい方が速い).Fxはかなり分が悪いようです. 一見これ以上いじりようのない単純なコードをFxでどこまで速くできるのか少し詳しく考えてみます.前回見たように30bitを超えないようにxを二つの変数に分けてみましょう. ・コード2 /* [x[1]:x[0]] += [y[1]:y[0]]を求める. ここで[a:b]はa * (1<<30) + bを意味する(0 <= a, b < (1<<30)). */ function add(x, y) { var t = x[0] += y[0]; x[1] += y[1];

    amachang
    amachang 2007/07/30
    30bit を超える整数値の演算はめっちゃ遅くなる。あと少数の演算も、なるべく整数でやったほうがいいのか。この方向から JavaScript の高速化は全然未知。
  • mozIJSSubScriptLoaderを使って現在の実行コンテキストに外部ファイルを読み込ませる - 日向夏特殊応援部隊

    まぁこれ、識者の間ではどうも当たり前の模様です。 mozIJSSubScriptLoaderを使う var loader = Cc["@mozilla.org/moz/jssubscript-loader;1"].getService(Ci.mozIJSSubScriptLoader); loader.loadSubScript(url, ctx); とするとctxオブジェクトにwithした状態と同等で外部のソースを引っ張る事が出来ます。 ctxを省略すると、現在のコンテキストになります。 サンプル /home/zigorou/Foo.jsなどに、 var Foo = function() {}; Foo.prototype = { name: function() { alert("ZIGOROu"); } }; /home/zigorou/FooSubScript.jsなどに func

    mozIJSSubScriptLoaderを使って現在の実行コンテキストに外部ファイルを読み込ませる - 日向夏特殊応援部隊
    amachang
    amachang 2007/07/30
    おお!これはすごい!mozIJSSubScriptLoader の紹介。これを使えば prototype への mixin が簡単にできる。誤解を恐れずに言えば Perl の bless に使い方が凄く似てる。 global オブジェクトを bless する。
  • 論理演算2 (mitsunari@cybozu labs)

    (注意) 1 >> 1をi >> 1や (-i) >> 1に変えてもほぼ同じ. どれもほぼ一定のIEに比べてFxで(-1)>>>1がやたら遅いのはどうしてでしょうか. FxのSTORE_INT()のコードを見ると if (INT_FITS_IN_JSVAL(i)) { \ v_ = INT_TO_JSVAL(i); \ } else { \ ok = js_NewDoubleValue(cx, (jsdouble)(i), &v_); \ if (!ok) \ goto out; \ } となっています. #INT_FITS_IN_JSVAL(j)は -230-1<=j<=230-1なら真のマクロ. つまり,xの値がその範囲を超えるとdouble型に移行し,その値を保存するためにメモリ確保関数が呼び出されます. これが他に比べて10倍以上遅い原因となっています. 同様に var x = 0

    amachang
    amachang 2007/07/30
    SpiderMonkey の STORE_INT マクロ、 INT_FITS_IN_JSVAL マクロの解説。変数が (-2^30 - 1) 〜 (2^30-1) の整数でなくなった場合はメモリが新たに確保され double 型の値が生成される。
  • KandaNewsNetwork: 参議院選挙に出馬してわかったいくつかの事

    2017/04/16 4knn.tvでも記事化しているがNikon Df https://4knn.tv/nikon-df/ 2013年発売でありながらも値下がりしない価値。中古価格でも16万円を維持…。 ボディだけでもいいかと思っていたが、50mmのレンズの評判が良い。 HDMI経由であれば動画のキャプチャーも可能というのが嬉しい。 投資対象としてのカメラ認定かと…。 ということでマップカメラとフジヤカメラで、物色してみたいと思います。 オールドレンズを探す、古いカメラ屋さんでの喜びがよみがえってくるのかも…。

    amachang
    amachang 2007/07/30
    行動力は何よりも大切だと思った。「選挙出ちゃおう」「選挙出ちゃった」って感じが凄くいい。
  • void GraphicWizardsLair( void ); //

    amachang
    amachang 2007/07/30
    「悪評判(悪い情報)が揮発しない時代を迎えるにあたって。一番素直な生き方戦略は「工程をすべて公開する」こと」/なるほどー。