Увидев несколько хороших ответов от людей здесь, я еще немного поискал и нашел несколько, которые нужно добавить:
Это советы по оптимизации Javascript, когда вы хотите перейти к очень мелким деталям, вещам, которые в большинстве случаев не имеют значения, но в некоторых случаях это будет иметь решающее значение:
Switch vs. Else If
Часто используемая тактика для сокращения накладных расходов, которые могут быть упущены из большой группы простых условных операторов, - это замена If-Then-Else операторами Switch.
На всякий случай, если вы хотите увидеть результаты тестирования, вы можете найти его здесь.
Развертывание цикла
Чтобы развернуть цикл, вы должны сделать несколько одинаковых шагов за итерацию и соответственно увеличить переменную счетчика. Это очень помогает, потому что вы уменьшаете количество раз, когда вы проверяете условие для цикла в целом. Вы должны быть осторожны при этом, потому что вы можете выйти за границы.
Подробную информацию и сравнительный анализ см. здесь.
Обратный счет петель
Измените цикл так, чтобы он вел обратный отсчет, а не вверх. Я также видел в различных документах об оптимизации, что сравнение числа с нулем намного быстрее, чем сравнение его с другим числом, поэтому, если вы уменьшите и сравните с нулем, это должно быть быстрее.
Дополнительную информацию и сравнительный анализ можно найти здесь.
Устройство Даффа
Это просто, но поначалу сложно понять. Подробнее об этом здесь.
Make обязательно ознакомьтесь с улучшенной версией ниже на этой странице.
Большая часть этой информации была процитирована прямо отсюда: Оптимизация JavaScript . Это интересно, поскольку это такой старый сайт, что он смотрит на оптимизацию с точки зрения вычислительной мощности браузера, которая у них была тогда. Хотя записанные ими тесты относятся к IE 5.5 и Netscape 4.73, их инструменты тестирования дают точные результаты для используемого вами браузера.
Для людей, которые думают, что эти детали не имеют значения, я думаю, это немного говорит о том, как люди воспринимают силу развития технологий, которые у нас есть. Тот факт, что наши браузеры обрабатывают данные во много раз быстрее, чем они используют, не обязательно означает, что мы должны злоупотреблять этой вычислительной мощностью.
Я не предлагаю тратить часы на оптимизацию двух строк кода до 0,005 мс, но если вы будете помнить об этих методах и применять их там, где это необходимо, это будет способствовать ускорению работы сети. В конце концов, по-прежнему много людей используют IE 6 , поэтому было бы неправильно предполагать, что все браузеры могут обрабатывать одинаковую обработку.
person
Matt
schedule
09.07.2009