2009-08-09 2 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
  • 도조 1.3.1
  • 유이 2.7.0
  • 012
    :이 최신 JQuery와 버전처럼 보인다 이것에 3,516,

Javascript frameworks Speed Comparison

기지가 빨리 이전 버전 후 거의 2 배이다, 그러나 심지어 최신 JQuery와는 잘 IMO

질문 시간을 수행하지 않은 1. 내 질문에, 나는 자바 스크립트에 익숙하지 않다.이 테스트는 은 꽤 정확한 것 같니?
2.이 경우에도 의 성능면에서 또는 의 경우도 눈에 띄지 않습니다.

답변

2

PureDom 테스트가 일부 프레임 워크만큼 느린 것으로 종종 나열된다는 사실은 측정의 정확성을 다소 의심하게 만듭니다. 또는 내가 추측하는 사이트 제작자의 프로그래밍 능력 : P

특히이 숫자를보고 난 후에는 기능의 차이, 사용 용이성 및 커뮤니티 지원이 성능 차이보다 더 중요하다고 말하고 싶습니다. 당신이 좋아하는 것을 사용하고, 우연히 매우 성능에 의존하는 뭔가를해야한다면, 스스로 할 수 있습니다. ™.

+1

PureDom이 내 컴퓨터에서 더 느린 단일 테스트는 없습니다. – toto

1

자주 사용하는 JavaScript 라이브러리의 성능이 충분합니다. JQuery는 "종이에"빨리 인쇄 할 수 있지만 실수로 매우 느린 코드를 만드는 데 쉽게 사용할 수있는 라이브러리입니다. 예를 들어 비효율적 인 DOM 수정 작업을 손쉽게 수행 할 수 있습니다.

라이브러리가 모두 빠르기 때문에 개인적으로 나에게 중요한 것은 개발 속도와 라이브러리 자체의 적합성입니다. 어떤 것은 다른 것보다 어떤 것에 더 적합합니다.

1

나는 그 (것)들의 다량 통지에 가지고 가지 않을 텐데. 그들은 모범 사례를 따르지 않으며 전혀 최적화되지 않습니다. 예를 들어

타고 "확인"JQuery와 1.3.2 테스트 (아래 코드)

당신이 here 가서 열고 불을 지르고는 당신은 내가 그 일을하는 가장 좋은 방법에 대한 자신의 방법을 비교 한 참조 할 수 있습니다. 그 차이는 놀랍습니다.

나는 명료하게하기 위해 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

는, 그 테스트는 속도와 아무것도 (계산없이 메모리 사용량, 아니 실제 사용 등) 및 추가의 순수 이론 시험이다 이론적 인 속도가 아니라 기능과 지원이다.

두 번째로, 성능 척도에서 모든 라이브러리는 당신이 필요로하는 것을하기에 충분히 빠르며 느리게 만드는 프로그래머입니다.

마지막으로 개인적인 의견은 jQuery의 최신 버전을 사용해야한다는 것입니다. 이는 사용성 (CSS3 선택기)과 간단한 AJAX 구현을위한 것입니다.

1

귀하의 필요에 맞는 라이브러리를 선택하고 싶습니다.

  • 는 쉽게
  • 가 기본 애니메이션을 쉽게
  • 그것은 AJAX 쉽게 않습니다 지나요는
  • 이 이벤트가 바인딩 지나요 쉽게 DOM 조작을합니까
  • 쉽게 노드 (세트) 선택을 하는가
  • 위의 과정에서 IE 버그가 수정 되었습니까?
  • 규모를 조정합니까? 사용할 수있는 플러그인이 있습니까?
  • 이 문서, 지원, 거기

개발자 커뮤니티에 당신을 위해 작동 라이브러리를 찾아서 갈입니다. 시간이 지나면 귀하와 도서관 발행인은 귀하의 코드 성능을 극대화 할 수있는 최선의 방법을 모색하게 될 것입니다.

관련 문제