2009-08-09 6 views
3

これはかなり興味深いものですが、このサイトではスピードテストを実行し、これらのすべてを比較しています。Javascriptフレームワーク間の速度テストは信頼できますか?

  • PureDom
  • のjQuery 1.2.6
  • jQueryの1.3.2
  • プロトタイプ1.6.0.3
  • MooToolsの1.2.2
  • qooxdoo 0.8.2
  • 道場1.2.3
  • Dojo 1.3.1
  • YUI 2.7.0
  • 012それは、最新のjQueryのバージョンのように思えるこの上

Javascript frameworks Speed Comparison

拠点速く、古いバージョン、その後はほぼ2倍である、しかしでも最新のjQueryは、うまく実行されませんでしたIMO

質問時間:
1.私の質問は、私は javascriptに新しいです、あなたはこのテスト はかなり正確だと思いますか?
2.この場合でも、パフォーマンスの点では と表示されていますか、または でも気にならないのですか?

答えて

2

PureDomテストでは、フレームワークの中にあるようにテストが遅くなることがありますが、測定の精度はいくらか疑わしいものです。また、私が推測するサイトメーカのプログラミング能力:P

特に、これらの数字を見ても、パフォーマンスの違いよりも機能性、使いやすさ、コミュニティサポートが重要だと思います。あなたが好きなものを使用し、偶然、非常にパフォーマンスに依存する何かをしなければならない場合は、それ自身で™。

+1

私のマシンでPureDomの動作が遅いというテストは一度もありません – toto

1

人気のあるJavaScriptライブラリのパフォーマンスはそれ以上です。 jQueryは「紙の上で」素早く書けるかもしれませんが、意図せずに非常に遅いコードを簡単に作成できるライブラリです。たとえば、非効率的なDOMの変更を簡単に行うのは簡単です。

ライブラリはすべて高速ですので、私にとって個人的に重要なのは、ライブラリの開発スピードと適合性です。あるものは他のものよりも適しているものもあります。

1

私はそれらの多くの通知にはかかりません。彼らはベストプラクティスに従わず、まったく最適化されていません。例えば

テイク「作る」jQueryの1.3.2テスト(以下コード)

あなたがhereを行くとオープンFirebugのは、あなたが、私はそれを行うための最善の方法に対する彼らの方法を比較している見ることができます。違いはすごいです。

わかりやすくするために、私はmakeBadとmakeGoodという名前を付けました。

alt text http://gyazo.com/6e96f17c1c04aa34f0fe73e7068b6597.png

結論:ひとつまみの塩で結果を取り、ここでの結果です。実際の世界の例ではありません。

"makeBad": function(){ 
     for(var i = 0; i<250; i++){ 
      $("<ul id='setid" + i + "' class='fromcode'></ul>") 
       .append("<li>one</li><li>two</li><li>three</li>") 
       .appendTo("body"); 
     } 
     return $("ul.fromcode").length; 
    }, 

これはまったく最適化されていません。ループ内のdomには追加しないでください。配列にプッシュしてdomに一度追加する方がよいでしょう。それは以下のように書かれている方がずっと良いですlibaryの中で最も重要であることに、すべての最初の

"makeGood": function(){ 
      var domBuilder = []; 

      for(var i = 0; i<250; i++){ 
      domBuilder.push("<ul id='setid" + i + "' class='fromcode'>") 
      domBuilder.push("<li>one</li><li>two</li><li>three</li>") 
      domBuilder.push("</ul>") 
      } 

      $('#body').append("<div>" + domBuilder.join() + "</div>"); 
      return $("ul.fromcode").length; 
    }, 
+1

次に、250ではなく1(* one *)のappend()しかテストしていません。これは全く同じテストではありません。確かに高速ですが、最適化がフレームワーク固有のものではないので、それは意味がありません。 – Thorarin

+0

しかし、彼らは何のためにも数えられないので、結果を無視するために理由はまだ成り立っています。 – redsquare

+0

それがポイントです。問題は、彼が結果に気づくべきかどうかです。答えはいいえ、それ以上です! – redsquare

0

は、そのテストは、単にスピードと何もない(計算なしメモリ使用量、ない現実世界の使用など)と加えての純粋に理論的なテストであり、理論的な速度ではなく、それは機能とサポートです。

第2に、パフォーマンススケールでは、すべてのライブラリは必要な処理を実行するのに十分速く、プログラマは遅くなります。

最後に私の個人的な意見は、ユーザビリティ(CSS3セレクタ)と簡単なAJAX実装のために、最新バージョンのjQueryを使用することです。

1

あなたのニーズに合ったライブラリを選択したいと思うでしょう。それはAJAX簡単にしていたイベントが

  • 簡単に結合、それは
  • 基本的なアニメーションを簡単に作るん作るん

    • することは、
    • 簡単にノード(セット)を選択します、それは
    • DOM操作が簡単にしていません
    • 上記の途中でIEのバグを修正していますか?
    • 拡大縮小しますか?利用可能なプラグインはありますか?
    • がドキュメント、サポート、そこ

    開発者のコ​​ミュニティのあなたのために働くのライブラリを見つけて、それのために行くです。時間が経つと、あなたと図書館の出版社の両方が、コードのパフォーマンスを最大限に引き出す最良の方法を見つけることになります。

  • 関連する問題