Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 04.12.2010, 14:39
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

я использую для экономии памяти
__________________
.ня
Ответить с цитированием
  #12 (permalink)  
Старый 04.12.2010, 14:45
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от tenshi
я использую для экономии памяти
А разве не на оборот?
Я постоянно читаю различные справки на тему производительности JS и везде пишут что new Object/Array/Function/String нужно писать именно в сокращенной нотации.

Последний раз редактировалось monolithed, 04.12.2010 в 15:04.
Ответить с цитированием
  #13 (permalink)  
Старый 04.12.2010, 15:25
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

var x= "много текста"
var y= x

var x= Object( "много текста" )
var y= x

что экономней?
__________________
.ня
Ответить с цитированием
  #14 (permalink)  
Старый 04.12.2010, 15:55
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Только что проверил:
если количество символов небольшое, то вариант с созданием объекта требует на ~20% больше времени выполнения сценария, если же брать большое количество символов, то все с точностью наоборот.

Доп.
если же вызывать объект на прямую, без промежуточной переменной, то экономия получается почти в 50%.

Последний раз редактировалось monolithed, 04.12.2010 в 16:00.
Ответить с цитированием
  #15 (permalink)  
Старый 05.12.2010, 01:39
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

я про потребление памяти

что за вызов напрямую?
__________________
.ня
Ответить с цитированием
  #16 (permalink)  
Старый 05.12.2010, 09:14
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от tenshi
я про потребление памяти
~1.5kb vs. ~6kb в пользу создания объекта. Однако на небольшом количестве символов (до 100) сложно сказать кто меньше потребляет памяти.

Сообщение от tenshi
что за вызов напрямую?
т.е.
var s1 = new String()
alert(s1);

либо сразу вызывать:
alert(new String());

а не так:
var s1 = new String();
s2 = s1;
alert(s2);
Ответить с цитированием
  #17 (permalink)  
Старый 05.12.2010, 12:09
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

на небольшом количестве символов и не важно кто меньше.
__________________
.ня
Ответить с цитированием
  #18 (permalink)  
Старый 06.12.2010, 06:30
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

видимо, tenshi намекает на то, что тип String - не ссылочный тип. Хотя я не знаю, что может помешать реализации использовать copy on write, например
Ответить с цитированием
  #19 (permalink)  
Старый 06.12.2010, 11:14
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

например вот это:
x = "long string"
y = x + "!"
z = x + "!"
__________________
.ня
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему это работает? (инклуд JS в JS) Василий Б. Общие вопросы Javascript 4 11.06.2010 12:41
Почему div не отображается в ИЕ? warobushek (X)HTML/CSS 0 26.04.2010 08:35
Почему код работает? (обращение к форме из window) Василий Б. Элементы интерфейса 10 21.04.2010 10:10
загрузка данных из XML, почему загружает только в Explorer asked86 AJAX и COMET 2 18.12.2009 16:29
Почему значения св-в undefined? Bakuryu Events/DOM/Window 4 18.07.2008 19:49