Приводит ли обновление jQuery UI 1.7.2 к 1.8.7 к повышению производительности? - PullRequest
5 голосов
/ 20 декабря 2010

Мой сайт использует только диалоги и кнопки из пользовательского интерфейса jQuery. В целом все работает хорошо, но время от времени некоторые пользователи сталкиваются с небольшими проблемами с производительностью; по их мнению, система не так отзывчива, как следовало бы.

Обновление с jQuery 1.4.2 до 1.4.4 действительно помогло, потому что в моем коде много вызовов find() / filter(). Стоит ли ожидать повышения производительности от обновления пользовательского интерфейса jQuery?

Ответы [ 3 ]

5 голосов
/ 20 декабря 2010

Есть несколько вещей, о которых нужно подумать в отношении обновления библиотеки.

  1. Насколько сложно это будет сделать.Много раз, если это незначительное обновление, вы не увидите никаких изменений API или чего-либо подобного.Это должен быть довольно плавный процесс для выполнения обновления.В этом случае я не вижу никакой причины, по которой вы не не выполните обновление.
  2. В случае перехода на более крупную версию вам необходимо учитывать изменения APIэто может привести к тому, что обновление до новой версии библиотеки займет больше времени.Это может быть не просто идея «зайти в новую библиотеку, и все готово».С учетом сказанного я обычно стараюсь поддерживать свои библиотеки как можно более современными.Да, сейчас это может быть немного больше работы, но в долгосрочной перспективе легче постоянно обновлять библиотеку, чем раз в 5 лет.

Что касается типаулучшения производительности, которые вы увидите, если вы обновитесь до 1.8.7, ознакомьтесь с примечаниями к выпуску .Мало того, что вы должны видеть улучшения, вы также должны иметь больше возможностей.

При всем этом сказано ...

Во многих случаях улучшения производительности лучшевлияет, если код с использованием библиотек улучшен.Лучшие алгоритмы, лучшее использование структур и т. Д. Могут показать НАМНОГО лучших улучшений, чем просто обновление библиотеки.Я хотел бы изучить это наряду с обновлением библиотеки jQueryUI.

0 голосов
/ 20 декабря 2010

Я бы сначала изучил ваш код.

Используйте идентификаторы вместо классов, где это возможно.

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

Например:

if( $('#some-id').find('.foo').length > 0 ) {
  //do something with foos
  console.log($('#some-id').find('.foo'));
}

должно быть

var $foos = $('#some-id .foo');
if( $foos.length > 0 ) {
  //do something with foos
  console.log($foos);
}

ПОСЛЕ того, как вы исследовали свой коди протестирован.

Я бы продолжил и обновил, а затем снова протестировал бы на вашем локальном компьютере во всех браузерах.Если все хорошо, почему бы не обновить?

0 голосов
/ 20 декабря 2010

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

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