Javascript Namespacing. Увеличивает ли это производительность JS / Browser? - PullRequest
3 голосов
/ 07 мая 2010

Так что я полностью понимаю, почему мы должны использовать пространство имен в javascript, но это в основном для организационных целей и для того, чтобы глобальное пространство имен оставалось загроможденным ?.Помогает ли на самом деле распределение имен в производительности браузера / движка JS.Просто интересно, какие у тебя были мысли.Спасибо

Ответы [ 2 ]

4 голосов
/ 07 мая 2010

Технически это снижает производительность, но не сильно, в зависимости от того, насколько глубоко вы начинаете. Silobox (http://www.silobox.com/) - это инструмент для измерения производительности JavaScript, и мы написали тест, который тестирует именно эту вещь. Мы обнаружили, что чем глубже вложен объект, тем дольше выполняется доступ к этим свойствам.

Так что для оптимальной скорости я рекомендую добавить глобальные функции быстрого доступа к вашему коду.

Предположим, у вас есть:

var mycompany.myproj.Something = function(){ ... };

Полезно включать

var MCSomething = mycompany.myproj.Something;

Таким образом, когда двигатель JS смотрит вверх MCSomething, ему не нужно спускаться по деревьям. Google Maps использует этот подход.

3 голосов
/ 07 мая 2010

Не должно быть заметного влияния на производительность от использования пространств имен. Основными причинами являются именно то, что вы упомянули: поддержание чистоты глобального пространства имен (во избежание конфликтов имен) и организация.

...