Быстрые итераторы, регулярные выражения и другие вкусности |
|
В этом разделе собраны некоторые практические советы по производительности отдельных конструкций в JavaScript-движках в браузере. ИтераторыДавайте рассмотрим, какой способ перебора элементов будет максимально быстрым в JavaScript. У нас есть несколько возможностей, ниже приведен полный вариант кода для тестирования. <!-- набор элементов для результатов тестирования --> <script type="text/javascript"> // запускаем первый тест, обычный перебор элементов массива, // кэшируем размер массива // итератор do-while // обратный while (самый быстрый) В результате мы получим примерно следующую таблицу.
Таблица 14. Различные варианты перебора массива, результаты в миллисекундах В общем случае применение обратного while для перебора цикла в 2-3 раза быстрее всех остальных вариантов. Если веб-приложение оперирует массивами порядка 1000 элементов, то в результате примнения оптимизированных приемов будет заметен значительный прирост производительности. Регулярные выраженияВ JavaScript есть несколько способов проверить, удовлетворяет ли строка заданному шаблону: // 1. Объявляем объект в виде регулярного выражения // 2. можно просто проверять соответствие строке, // 3. Можно обойтись без объявления самого регулярного выражения // 4. Можно задавать регулярное выражение без глобального модификатора, // 5. С тем же успехом мы можем выполнить шаблон // 6. Наконец, можно протестировать сам шаблон на нахождение в строке Давайте рассмотрим, что из них работает быстрее всего. Для этого запустим немного модифицированный набор тестов из раздела выше (опять по 10000 раз для всего DOM-дерева). Получим следующие результаты: Как мы видим, в данном случае создание нового регулярного выражения - весьма ресурсоемкий процесс, поэтому в большинстве случаев лучше обходиться без него. В остальном все браузеры ведут себя достаточно ровно при сопоставлении match, exec и test.
Таблица 15. Различные варианты выполнения регулярного выражения, результаты в миллисекундах
|
Поисковая оптимизация. С чего все начинаетсяПоисковая оптимизация - это комплекс работ над сайтом и внешними факторами для достижения наилучших позиций в поисковых системах в соответствии с выбранными ключевыми словами. Поисковую оптимизацию можно разделить на внутреннюю и внешнюю. Внутренняя оптимизация сайта направлена на работу с самим сайтом. Читать полностью |
Продвижение сайта и уникальность контентаВы, наверное, не раз попадали на разные сайты с совершенно одинаковым содержанием. А тем временем Яндекс продолжает настаивать на уникальности контента и призывать к этому владельцев сайтов и веб-мастеров. Уникальный контент способен сделать результаты поиска более объективными и более разнообразными по содержанию. Тут возникает вопрос: кто же наиболее заинтересован в оригинальности содержания:... Читать полностью |
Что такое поисковая система ЯндексПрежде чем пускаться в алгоритмические дебри, давайте вспомним, а как вообще устроена поисковая система. Читать полностью |
Продвижение в регионахВ апреле 2009-го года «Яндекс» применил раздельное региональное ранжирование и этот день стал днем новой эпохи российского поискового маркетинга. Ранжирование Яндекс представил в составе алгоритма «Арзамас», из 3-х регионов в России (Москву, Санкт-Петербург и Россию целиком) и отдельные выдачи для почти десятка государств СНГ. Позднее презентовался «Арзамас 1.2» – ранжирование уже включило...Читать полностью |
