Скорость теста между фреймворками Javascript надежна? - PullRequest
3 голосов
/ 09 августа 2009

Это довольно интересно, этот сайт запускает тест скорости и сравнивает все это;

  • 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
  • YUI 2.7.0

Сравнение скоростей Javascript-фреймов

Основываясь на этом, кажется, что новейшая версия jquery почти в 2 раза быстрее старой версии, однако даже новейшая jquery не так хорошо работала IMO

Время вопроса:
1. Так что мой вопрос, я новичок в javascript, вы думаете, этот тест довольно точно?
2. Если это так, это даже значит что-нибудь с точки зрения производительности или это даже не заметно?

Ответы [ 5 ]

2 голосов
/ 09 августа 2009

Тот факт, что тесты PureDom иногда указываются как более медленные, поскольку некоторые фреймворки заставляют меня несколько сомневаться в точности измерений. Или способность программиста создателей сайта, я думаю: P

Особенно после просмотра этих цифр я бы сказал, что функциональность, простота использования и поддержка сообщества важнее, чем различия в производительности. Используйте то, что вам нравится, и если вы случайно сделаете что-то очень зависимое от производительности, сделайте это самостоятельно и торгуйте;.

1 голос
/ 09 августа 2009

вы захотите выбрать библиотеку, которая соответствует вашим потребностям.

  • Облегчает ли выбор узла (набора)
  • Легко ли манипулировать DOM
  • Упрощает ли привязка событий
  • Упрощает ли базовая анимация
  • Легко ли AJAX
  • Исправляет ли это ошибки IE по пути во время вышеописанного?
  • Это масштабируется? Существуют ли плагины?
  • Есть ли документация, поддержка, сообщество разработчиков

Найдите библиотеку, которая работает для вас, и сделайте это. Со временем и вы, и издатель библиотеки найдете лучшие способы максимизировать производительность вашего кода.

1 голос
/ 09 августа 2009

Я бы не стал особо их замечать. Они не следуют лучшей практике и не оптимизируются вообще.

Возьмем, к примеру, тест "make" jquery 1.3.2 (код ниже)

Если вы зайдете сюда и откроете fireBug, вы увидите, что я сравнил их метод с лучшим способом сделать это. Разница удивительная.

Для ясности я назвал их makeBad и makeGood. Вот результаты:

alt text
(источник: gyazo.com )

Вывод: взять результаты с щепоткой соли. Это не примеры из реальной жизни

"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. Это намного лучше написано следующим образом.

"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 голос
/ 09 августа 2009

Производительность популярных библиотек JavaScript более чем достаточна. Многое зависит и от того, что вы с ними делаете: хотя jQuery может быть быстрым «на бумаге», это библиотека, которую вы можете легко использовать для непреднамеренного создания очень медленного кода. Например, легко сделать множество неэффективных модификаций DOM.

Поскольку библиотеки работают быстро, лично для меня важна скорость разработки и пригодность самой библиотеки. Некоторые из них лучше подходят для определенных вещей, чем другие.

0 голосов
/ 09 августа 2009

во-первых, этот тест является чисто теоретическим тестом, просто скоростью и ничем иным (без подсчета использования памяти, без использования в реальном мире и т. Д.), И в дополнение к этому самым важным из библиотеки является не теоретическая скорость, itś функциональность и поддержка.

во-вторых, в масштабе производительности все библиотеки достаточно быстрые, чтобы делать все, что вам нужно, это программист, который делает это медленно.

наконец, мое личное мнение заключается в том, что вам просто следует воспользоваться последней версией jQuery, потому что она удобна в использовании (селекторы CSS3) и проста реализация AJAX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...