Производительность додзё (логирование, кометы, слайдеры) - PullRequest
1 голос
/ 11 августа 2009

У меня есть некоторые проблемы с производительностью в моем JavaScript, и я не добиваюсь большого успеха, применяя его. Одна из вещей, которые я пробовал - использовать инструмент профиля firebug. Он сообщает, что основным вызовом был журнал dojo (). Бесполезно, он сообщает номер строки из сжатого скрипта, поэтому я не могу сказать, что является причиной проблемы. Но кажется интересным, что 70% строк в отчете о профиле предназначены для вызовов dojo log (), поэтому в совокупности он должен проводить там удивительное количество времени. Есть ли способ отключить ведение журнала Dojo?

Единственная видимая запись в журнале - это запись, которая появляется каждые 1,5 секунды и которая поддерживает комету. Я также использую ползунок dojo в одном месте, но я не вижу никаких доказательств того, что это приводит к падению производительности.

Какие еще инструменты я должен использовать, чтобы попытаться определить «горячие точки» производительности в javascript? Часть моего кода, написанного на JavaScript, на самом деле не очень большая, поэтому меня не удивит, если бы именно обходные пути к серверу действительно вызывали проблему, но я тоже не знаю, как это сделать.

Ответы [ 3 ]

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

Вы, вероятно, используете сжатую версию Dojo. Если вы измените dojo.js на dojo.js.uncompressed.js, информация в профиле должна показать вам гораздо более точную информацию.

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

Попробуйте также создать свой JavaScript, используя конструктор Dojo. Также помните, что самые медленные вызовы - это вызовы DOM. Поэтому убедитесь, что вы не запрашиваете DOM внутри цикла, когда его можно вывести за пределы.

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

Если вы используете Dojo 1.2 или выше, вы можете использовать stripConsole = normal при сборке, чтобы автоматически удалять все журнальные вызовы, которые она делает. Если вы не используете систему сборки, то это, вероятно, первое, что вы можете сделать для повышения производительности.

Некоторые ссылки для начала работы:

http://docs.dojocampus.org/build/index

http://docs.dojocampus.org/quickstart/custom-builds

...