Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #101 (permalink)  
Старый 12.10.2012, 11:20
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

*наркоманы*
Ответить с цитированием
  #102 (permalink)  
Старый 12.10.2012, 14:05
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Небольшой тест на хроме.
Логично предположить что замыкания будут отражаться на расходе памяти.

Пробую мерить расход памяти для 10 000 000 замыканий.
Cначало прогонем без цикла - 5 340 (не одного замыкания)
для alert (1) - 473 000 (здесь мы не тянем за собой scope)
для alert (data) - 717 000 (здесь мы тянем за собой scope)
для eval - БОЛТ , виснет, но для 1000 000 замыканий составляет 117 000, значит где то 1 170 000. для 10 000 000

Код теста
var arr=[];
test=function(){
	var data="893749237776876872346873264782364823647324823647326473647";
              data=data+"893749237776876872346873264782364823647324823647326473647";
              data=data+"893749237776876872346873264782364823647324823647326473647";
              data=data+"893749237776876872346873264782364823647324823647326473647";
              data=data+"893749237776876872346873264782364823647324823647326473647";
              data=data+"893749237776876872346873264782364823647324823647326473647";
              data=data+"893749237776876872346873264782364823647324823647326473647";

	return function(){
		eval(" alert"+"(data)");
		//alert(data);
		//alert(1);
	} 
}

for (var i=0;i<10000000;i++){
     arr.push(test());
}

выводы.

-Замыкание пояляется только если мы используем переменные внешний функции
-eval ощутимо увеличивает расход памяти на замыкания, к тому имеет проблемы с большим количеством.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 12.10.2012 в 14:53.
Ответить с цитированием
  #103 (permalink)  
Старый 12.10.2012, 14:09
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

Цитата:
-Замыкание пояляется только если мы используем переменные внешний функции
-eval ощутимо увеличивает расход памяти на замыкания, к тому имеет проблемы с большим количеством.
Я это и писал в предидущих постах. По этому V8 быстр. Собственно когда есть eval, замыкаются все биндинги.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #104 (permalink)  
Старый 03.12.2015, 01:31
Новичок на форуме
Отправить личное сообщение для sn87 Посмотреть профиль Найти все сообщения от sn87
 
Регистрация: 01.12.2013
Сообщений: 2

Задача № 1


function continueSequence(arr){
  return function(){
    var arrLength = arr.length;
    var gen = arr[arrLength - 1] - arr[arrLength - 2]  + arr[arrLength - 1];
    arr.push(gen);
    return gen;
  }
}

Последний раз редактировалось sn87, 03.12.2015 в 01:37.
Ответить с цитированием
  #105 (permalink)  
Старый 03.12.2015, 02:36
Профессор
Посмотреть профиль Найти все сообщения от Mаxmaxmаximus
 
Регистрация: 29.10.2015
Сообщений: 473

вы тоже проигрываете читая свои старые каменты на форуме?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи по Java and JavaScript Другое Имя Работа 1 26.10.2011 00:11
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Подходит ли Javascript для решения следующей задачи? alikol Оффтопик 4 24.10.2010 22:40
Подходит ли Javascript для решения следующей задачи? alikol Общие вопросы Javascript 7 24.10.2010 14:10
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34