Комментарии 5
Отличное руководство.
Двойное спасибо за готовые файлыс каждым листингом.
Двойное спасибо за готовые файлыс каждым листингом.
вообще-то оно ничему хорошему не научит.
«Также видно, что 2 из моих функций вверху списка: decimalToHex и makeColorSorder. Эти 2 функции в сумме занимают 13,2% времени»
«decimalToHex вызывается из makeColorSorter»
в сумме они всё-таки занимают 7.96% ибо total включает в себя время вызовов дочерних функций. и, кстати, лучше нажать на значёк процента, чтобы перевести данные в миллисекунды. если 8% — это жалкие 10мс, то эти оптимизации не стоят потраченного времени.
далее, тормоза первой функции вызваны прежде всего вызовом console.log и если уж и менять реализацию конвертации, то лучше на что-нибудь типа:
return ( d % 0x100 + 0x200 ).toString( 0x10 ).substring( 1 )
оно хотябы не нагенерирует всякой ламбады при передаче чисел вне предполагаемого диапазона
а основные тормоза приложения вообще вызваны слишком частым обращением к дому, о чём никакой профайлер нам ничего не сказал и пришлось догадываться самостоятельно.
вывод: хромовский профайлер — довольно бестолковая вещь, так как не показывает времена выполнения и частоту вызовов апишных функций. а ведь они — основной источник тормозов.
«Также видно, что 2 из моих функций вверху списка: decimalToHex и makeColorSorder. Эти 2 функции в сумме занимают 13,2% времени»
«decimalToHex вызывается из makeColorSorter»
в сумме они всё-таки занимают 7.96% ибо total включает в себя время вызовов дочерних функций. и, кстати, лучше нажать на значёк процента, чтобы перевести данные в миллисекунды. если 8% — это жалкие 10мс, то эти оптимизации не стоят потраченного времени.
далее, тормоза первой функции вызваны прежде всего вызовом console.log и если уж и менять реализацию конвертации, то лучше на что-нибудь типа:
return ( d % 0x100 + 0x200 ).toString( 0x10 ).substring( 1 )
оно хотябы не нагенерирует всякой ламбады при передаче чисел вне предполагаемого диапазона
а основные тормоза приложения вообще вызваны слишком частым обращением к дому, о чём никакой профайлер нам ничего не сказал и пришлось догадываться самостоятельно.
вывод: хромовский профайлер — довольно бестолковая вещь, так как не показывает времена выполнения и частоту вызовов апишных функций. а ведь они — основной источник тормозов.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Профилирование JavaScript с Chrome Developer Tools