На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ElcnU, ANDLL, fatalist
Страницы: (2) 1 [2]  все  ( Перейти к последнему сообщению )  
> Function.prototype.bind
    Еще раз изучил внимательно снэпшоты памяти в хроме для каждого случая и выяснил, что основное слияние на размер оказывают разделы (closure) и system/Context:

    Google Chrome Developer Tools -> Memory
    Objects CountShallow Size
    [1] call (heap snapshot = 5.5 Mb)
    (closure)43,3011,558,947
    system/Context10,206301,796
    [2] bind (heap snapshot = 4.7 Mb)
    (closure)43,3011,078,896
    system/Context20611,764
    [3] custom_bind (heap snapshot = 7.3 Mb)
    (closure)43,3061,559,124
    system/Context40,2091,611,924

    видно, что во всех 3х случаях число объектов замыкания ~ равны, но размеры памяти в случае с bind на ~500,000b меньше,
    также при bind число объектов system/Context равно 206 против 10,206 и 40,209.
    интересно, что при custom_bind явно увеличивается число объектов в system/Context.
    Вывод? видимо это оптимизация bind у Google Chrome V8 :D

    пс. тему отметил решеной, хотя конечно не все ясно, но в общем для себя пока достаточно капнул, будет думать, но это уже не так важно :D
    Итог? теперь вместо call, apply южу bind такие дела :D
    Сообщение отредактировано: Cfon -
    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
    0 пользователей:


    Рейтинг@Mail.ru
    [ Script execution time: 0,0156 ]   [ 16 queries used ]   [ Generated: 28.03.24, 09:43 GMT ]