За последние 24 часа нас посетили 18906 программистов и 1639 роботов. Сейчас ищут 1662 программиста ...

простой эксперимент с div и переменной но интересный результат

Тема в разделе "JavaScript и AJAX", создана пользователем Slavka, 6 дек 2016.

  1. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    задался вопросом - как удобнее хранить большой объем текстовых данных ( мне это для подписания документов эцп надо) -
    браузер chrome версия 54.0.2840.99 m

    наваял вот такое чудо ..
    Код (Javascript):
    1. <html>
    2.  
    3. <body>
    4.  
    5. <div id="element"></div>
    6. <div id=count></div>
    7.  
    8.  
    9. <script>
    10. //1048576
    11. function makeid()
    12. {
    13.     var text = "";
    14.     var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    15.  
    16.     for( var i=0; i < 1048576; i++ )
    17.         text += possible.charAt(Math.floor(Math.random() * possible.length));
    18.  
    19.     return text;
    20. }
    21.  
    22. var count1=0;
    23. var arr=[];
    24. var el = document.getElementById('element');
    25.         var body = document.getElementsByTagName('body');
    26.         el.innerHTML = '<p><a id="clickme" href="#">Click me</a></p>';
    27.         document.getElementById('clickme').onclick = function (e) {
    28.            
    29. //    добавление дива на экран      
    30.        /*     var newLi =document.createElement('div');
    31.             newLi.innerHTML = makeid();
    32.             element.appendChild(newLi);
    33.  
    34. */
    35. arr.push (makeid() );
    36. count1++;
    37. count.innerHTML = count1;
    38.  
    39.              }
    40.  
    41. </script>
    42.  
    43. </body>
    44.  
    45. </html>
    начал с того что стал добавлять по 1 мегабайту на страничку - на отметке 30 мегабайт - ( 1 тык на клик ми = 1 мб) все немного подвисло - в момент нажатия 30 мегабайта хром занимал в районе 102 мб памяти.. потом все подвисло хорошо .. я отошел от компа на пару минут, вернулся - хром был на отметке 65-70 мб и спокойно продолжал принимать клик ми


    теперь внимание !
    я перешел к массиву с этими же мегабайтами
    перезапустил браузер - закоментировал строчки с дивом и начал кликать..


    на 14 клике размер хрома уже был 321мб -

    чтоже получается - лучше сохранять все на экран чем в переменную ?
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    надо было при этом отойти тоже. Я не шучу. Почитайте, что такое своппинг. Узнаете много нового о том, как ОСь оптимизирует использование оперативной памяти, выгружая неиспользуемые фрагменты на жесткий диск.
     
  3. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    ок .. после того как я написал пост прошло уже .. ну сейчас время будет написания - полчаса наверно .. я довел до 30 клика в массиве , оператива 659мб. ну и полчаса не спадает .. стабильно держится с компом ничего не делаю - даже мышкой не вожу ( это виртуальный комп на гипер-в)
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Неисповедимы пути диспетчера оперативной памяти. Браузер у тебя при этом ежели не свернут или в сфокусированном окне, система решает не выгружать страницы оперативки на винт. В общем, не морочь себе голову и не тешь себя надеждой, что изобрел новый неизвестный науке способ компрессии данных через "хранение инфы в div", потому что на уровне DOM эта инфа все равно доступна из объекта. А как и когда те или иные оптимизации хрома, V8 и ОС отработают в конкретной ситуации ситуации и в комбинации, тебе ни одна гадалка не откроет.
    --- Добавлено ---
    P.S., если так интересно, то проведи не менее сотни экспериментов и замеров в разных условиях. И посмотри стабильность воспроизведения. Если будет 100%, тогда можно будет о чем-то говорить.
     
  5. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    эксперимент 3 ( браузер : Firefox метод : div )
    0 кликов - 136 мб ; 30 кликов - 300мб ; после ожидания нескольких минут падение до 292мб
    эксперимент 4 ( браузер : Firefox метод : массив )
    0 кликов - 137 мб ; 30 кликов - 638мб ;

    было бы не плохо другие браузеры лицезреть. - у когонить установлены еше какие ?
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ты же в курсе, что они бесплатные и ты их сам себе можешь установить ВСЕ за 15 минут?
     
  7. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    лениво =)
     
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Тыжвебразработчик. У тебя должны стоять все популярные браузеры.
     
  9. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    я пишу в конторе и только для нее . - везде стоит всего 3 браузера
    1. ослик IE - чтобы скачать хром
    2. собственно хром
    3. и фирефокс - кому что нравится

    зачем мне ставить все браузеры если весь софт я уже обрисовал ;)
     
  10. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Тебе эта тема так интересна, и так хочется проверить свои догадки, что тебе проще ждать вот уже почти 12 часов, нежели все протестить за 20 минут? Ок. Жди :)
     
  11. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    ммм ну я сейчас дома .. жалко нет пивка .. смотрю какоето кино =)) иногда пишу тут... да и потом твои слова

    разные браузеры я у себя поставлю .. но условия разные я не смогу создать на 2..макс 3 компах при чем все на винде

    надо еше на линухе и маке попробовать - с этим проблема..
    я пробую только на 7 ... хотелось бы и на 8 и что там шас еше есть .. меня сейчас всего этого лишили.. мне нужна ваша помошь в этом.
    могу выкинуть готовую страничку куданить на фрихостинг чтобы вам не копировать эти 45 строчек.
    Да и потом - что такое слова 1 человека .. а если их подтвердят или опровергнут другие .. вот в чем интерес.. так что да .. эта тема мне интересна ... и я не тороплюсь ;)
     
  12. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Вкидывай, авось подтянутся. Я мб тоже покликаю, от чего б не покликать.
     
  13. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    немного модифицировал - но принцип все тот же
    http://dyu.su/test_memory.html
    Про скорость вывода на экран / в массив речи не идет - это понятно что на экран выводится и обрабатывается медленней .
    сейчас интересен именно объем занимаемой памяти

    PS эксперимент должен выполняться следующим образом :
    1. Закрываем браузер / дожидаемся полной выгрузки из памяти
    2. открываем и ждем немного чтобы загрузился
    3. открываем ссылку
    4. кликаем 30 раз сначала на однку кнопку ( следим за количеством занимаемой памяти браузеров - офигеваем )
    5. выполняем пункты 1-4 но с другой кнопкой и также следим за количеством занимаемой памяти

    Как желательно написать результат
    <Количество памяти на старте> <количество памяти на 30 клике> < Браузер> <операционная система>
     
    #13 Slavka, 8 дек 2016
    Последнее редактирование: 8 дек 2016