задался вопросом - как удобнее хранить большой объем текстовых данных ( мне это для подписания документов эцп надо) - браузер chrome версия 54.0.2840.99 m наваял вот такое чудо .. Код (Javascript): <html> <body> <div id="element"></div> <div id=count></div> <script> //1048576 function makeid() { var text = ""; var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; for( var i=0; i < 1048576; i++ ) text += possible.charAt(Math.floor(Math.random() * possible.length)); return text; } var count1=0; var arr=[]; var el = document.getElementById('element'); var body = document.getElementsByTagName('body'); el.innerHTML = '<p><a id="clickme" href="#">Click me</a></p>'; document.getElementById('clickme').onclick = function (e) { // добавление дива на экран /* var newLi =document.createElement('div'); newLi.innerHTML = makeid(); element.appendChild(newLi); */ arr.push (makeid() ); count1++; count.innerHTML = count1; } </script> </body> </html> начал с того что стал добавлять по 1 мегабайту на страничку - на отметке 30 мегабайт - ( 1 тык на клик ми = 1 мб) все немного подвисло - в момент нажатия 30 мегабайта хром занимал в районе 102 мб памяти.. потом все подвисло хорошо .. я отошел от компа на пару минут, вернулся - хром был на отметке 65-70 мб и спокойно продолжал принимать клик ми теперь внимание ! я перешел к массиву с этими же мегабайтами перезапустил браузер - закоментировал строчки с дивом и начал кликать.. на 14 клике размер хрома уже был 321мб - чтоже получается - лучше сохранять все на экран чем в переменную ?
надо было при этом отойти тоже. Я не шучу. Почитайте, что такое своппинг. Узнаете много нового о том, как ОСь оптимизирует использование оперативной памяти, выгружая неиспользуемые фрагменты на жесткий диск.
ок .. после того как я написал пост прошло уже .. ну сейчас время будет написания - полчаса наверно .. я довел до 30 клика в массиве , оператива 659мб. ну и полчаса не спадает .. стабильно держится с компом ничего не делаю - даже мышкой не вожу ( это виртуальный комп на гипер-в)
Неисповедимы пути диспетчера оперативной памяти. Браузер у тебя при этом ежели не свернут или в сфокусированном окне, система решает не выгружать страницы оперативки на винт. В общем, не морочь себе голову и не тешь себя надеждой, что изобрел новый неизвестный науке способ компрессии данных через "хранение инфы в div", потому что на уровне DOM эта инфа все равно доступна из объекта. А как и когда те или иные оптимизации хрома, V8 и ОС отработают в конкретной ситуации ситуации и в комбинации, тебе ни одна гадалка не откроет. --- Добавлено --- P.S., если так интересно, то проведи не менее сотни экспериментов и замеров в разных условиях. И посмотри стабильность воспроизведения. Если будет 100%, тогда можно будет о чем-то говорить.
эксперимент 3 ( браузер : Firefox метод : div ) 0 кликов - 136 мб ; 30 кликов - 300мб ; после ожидания нескольких минут падение до 292мб эксперимент 4 ( браузер : Firefox метод : массив ) 0 кликов - 137 мб ; 30 кликов - 638мб ; было бы не плохо другие браузеры лицезреть. - у когонить установлены еше какие ?
я пишу в конторе и только для нее . - везде стоит всего 3 браузера 1. ослик IE - чтобы скачать хром 2. собственно хром 3. и фирефокс - кому что нравится зачем мне ставить все браузеры если весь софт я уже обрисовал
Тебе эта тема так интересна, и так хочется проверить свои догадки, что тебе проще ждать вот уже почти 12 часов, нежели все протестить за 20 минут? Ок. Жди
ммм ну я сейчас дома .. жалко нет пивка .. смотрю какоето кино =)) иногда пишу тут... да и потом твои слова разные браузеры я у себя поставлю .. но условия разные я не смогу создать на 2..макс 3 компах при чем все на винде надо еше на линухе и маке попробовать - с этим проблема.. я пробую только на 7 ... хотелось бы и на 8 и что там шас еше есть .. меня сейчас всего этого лишили.. мне нужна ваша помошь в этом. могу выкинуть готовую страничку куданить на фрихостинг чтобы вам не копировать эти 45 строчек. Да и потом - что такое слова 1 человека .. а если их подтвердят или опровергнут другие .. вот в чем интерес.. так что да .. эта тема мне интересна ... и я не тороплюсь
немного модифицировал - но принцип все тот же http://dyu.su/test_memory.html Про скорость вывода на экран / в массив речи не идет - это понятно что на экран выводится и обрабатывается медленней . сейчас интересен именно объем занимаемой памяти PS эксперимент должен выполняться следующим образом : 1. Закрываем браузер / дожидаемся полной выгрузки из памяти 2. открываем и ждем немного чтобы загрузился 3. открываем ссылку 4. кликаем 30 раз сначала на однку кнопку ( следим за количеством занимаемой памяти браузеров - офигеваем ) 5. выполняем пункты 1-4 но с другой кнопкой и также следим за количеством занимаемой памяти Как желательно написать результат <Количество памяти на старте> <количество памяти на 30 клике> < Браузер> <операционная система>