Объективный способ сравнить памяти/скорости различных Шаблонов Наследования в JavaScript?

Я часто вижу споры между Классическим (фальсифицируемый через некоторую библиотеку), Псевдоклассическое и упоминание Наследования Prototypal "эффективность". Однако я никогда не видел, что любые данные создают резервную копию любого этого вида материала. Не говоря уже об "эффективности" походит на неоднозначное слово когда дело доходит до стиля кодирования, а не алгоритм.

Я хотел бы сделать некоторые тесты для "сравнивания" некоторых из этих шаблонов и библиотек. Это кажется отчетливо отличающимся, чем большая часть алгоритма или сравнительных тестов дисплея, которые я видел в прошлом. Что делает Вас, парни думают, важные вещи протестировать, и что является лучшими способами получить те числа надежно.

Что я думаю в настоящее время:

  • Скорость инстанцирования (Время создание нескольких тысяч объектов с помощью каждого шаблона w/идентичная функциональность)
  • Использование памяти (Единственный способ, которым я могу думать, состоит в том, чтобы посмотреть на мою память в диспетчере задач..., является там лучшим путем),
  • Скорость доступа к внутренним свойствам и методам (повторение, синхронизирующее снова)
  • Скорость копий (итеративная синхронизация)
  • Строки кода (Peer рассмотрел примеры следующего лучшей практики с количеством),

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

Спасибо!

8
задан Alex Sexton 17 February 2010 в 20:28
поделиться

4 ответа

Есть некоторые тесты и числа, ссылки на которые приведены в этой записи блога .

Также не забудьте прочитать эту статью Джона Ресига о точности времени JavaScript и его влиянии на тесты производительности. Если вы не используете JSLitmus в качестве предложенного Residuum, убедитесь, что вы по-прежнему используете циклы адаптивного тестирования.

Хотя я на 100% согласен с комментарием darelf о том, что вам следует тестировать несколько браузеров, вы можете получить подробную информацию об использовании памяти и процессора в Chrome, нажав Shift + Esc.

2
ответ дан 5 December 2019 в 23:15
поделиться

Это может показаться очевидным: вы должны помнить, что каждый браузер дает разные результаты. Он должен быть частью любой матрицы, которую вы создаете при тестировании. Удачи.

1
ответ дан 5 December 2019 в 23:15
поделиться

HttpRequest. Params или Запрос. Params получает примерно все (querystring, форма, печенье и переменные сессии) от httprequest, тогда как Запрос. Querystring только потянет querystring... все зависит от того, что вы делаете в то время.

-121--878324-

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

Если вы тестируете строки кода, и размер действительно имеет значение для вашего эталона (и размер файлов javascript имеет значение), то вам также следует проверить размер файлов minified javascript с помощью YUI Coompressor .

Для тестов использования памяти у меня нет другой идеи, кроме просмотра диспетчера задач или топа в системах Linux или эквивалента в Mac OS X (и вы также должны проверить их).

Кроме того: Удачи и, пожалуйста, выпустите информацию, полученную с помощью ваших тестов. И не забудьте включить методы тестирования для воспроизведения значений, чтобы любые другие заинтересованные программисты могли рецензировать ваши результаты.

1
ответ дан 5 December 2019 в 23:15
поделиться

Не уверен, поможет ли это или нет, но проверьте dyna trace неплохо справляется с выдачей чисел.

1
ответ дан 5 December 2019 в 23:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: