タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

JavaScriptとtipsとperformanceに関するteru_whileのブックマーク (4)

  • JavaScript でプロファイリング - (new Hatena).blog()

    追記 [20061103]: ライブラリ非依存なバージョンも書いてみました。id:reinyannyan:20061103:p1 でご覧下さい。 最近自分で書いた JS プログラムが驚くほど重かったので、どこに原因があるか調べたいと思いました。 その方法として、怪しいと思う箇所に (あるいは思わない箇所にも) 手作業でタイマーを仕掛けて、部分部分の実行時間を計測するのも手だと思うんですが、クラスのどのメソッドでどのくらい時間が掛かっているのかが自動的に分かる、というのが理想的かなと思いました。 (以下、prototype.js 的な (OO 的な) コーディングを対象とした話になります) まず思いついたのは、プロファイルしたいクラス (function オブジェクト) を受け取って、メソッドを動的に書き換えるという方法です: for (var m in klass.prototype) {

    JavaScript でプロファイリング - (new Hatena).blog()
  • Re: グローバルオブジェクトへの参照は遅い - FAX

    JavaScript 技術メモ帳 - グローバルオブジェクトへの参照は遅いIEBlog : IE JavaScript Performance Recommendations - Part 1 僕も、この件は少し気になったので調べてみました。内容のほとんどは、DOMエレメントのプロパティを繰り返し直接呼ばずに、ローカル変数にポインタを入れろとか、そういう内容でした。ここではエレメントだけでなく、グローバル関数の呼び出しでもローカルに入れたほうが速くなること、そしてどのくらい速くなるかをチェックしました。 function global(){}; (function(){ // グローバル関数をそのまま呼び出す console.time("global 0"); for(var i=0; i まず驚いたのが、下のコードの方が遅いこと。100万回の繰り返しで、922ms 対 1973ms で

    teru_while
    teru_while 2007/07/02
    スコープが1だと遅くない、でも深くなるとリニアに遅くなるぽい。
  • EfficientJavaScript - Dev.Opera - 効率的な JavaScript

    EfficientJavaScript - Dev.Opera - 効率的な JavaScript 目次 この文書について 効率的な JavaScript ECMAScript eval や Function のコンストラクタを使うのはやめよう eval を書き換えよう 関数を使いたいなら function を使おう with を使うのはやめよう 性能を決める関数で try-catch-finally を使うのはやめよう eval と with は隔離しよう グローバル変数を使うのはやめよう 暗黙のオブジェクト変換に気をつけよう 性能を決める関数で for-in を使うのはやめよう 文字列は累積スタイルで使おう プリミティブの操作は関数呼び出しより速い setTimeout() や setInterval() には文字列でなく関数を渡そう DOM 再描画と再フロー 再フローの回数をでき

  • for 文 2.0(笑) - IT戦記

    まぁ、かなり知られてる話ですが JavaScript は .(ドット) の計算がかなり遅い。まぁ、簡単なスクリプトなら問題にならないが。web2.0的には大違いなのであります。ちなみに、.(ドット) の計算に比較演算の 3 倍のコストがかかる(IEはとくに)。 ということで、for 文は下のように(比較に .(ドット) を使わない)書くくせをつけましょう。地道な差が大きなパフォーマンスを生みます。 // for 文 2.0 for(var i = 0, len = array.length; i < len; i++) { .... }各種ライブラリの for 文 1.0 を for 文 2.0 化するだけで、CPU 使用率がけっこう下がりました。 予断ですが、間違っても .(ドット) を避けるために with 文を使うようなことはやめてください。 with 文のコストは 比較演算の 8

    for 文 2.0(笑) - IT戦記
    teru_while
    teru_while 2007/03/06
    ドットは遅い、withはもっと遅い。forで配列を回すときは初期化式でlengthを取る。
  • 1