diff --git a/index.html b/index.html index c4ca9b2..2547132 100644 --- a/index.html +++ b/index.html @@ -72,7 +72,10 @@

Что мы измеряем

  • обновление DOM.
  • -

    Ок, теперь у нас есть метрики, мы можем отправить их на сервер – говорим мы

    +

    + – Ок, теперь у нас есть метрики, мы можем отправить их на сервер + – говорим мы +

    Что же дальше? – вопрошаете вы

    А давай построим график! – отвечаем мы

    А что будем считать? – уточняете вы

    @@ -93,11 +96,11 @@

    Что мы измеряем

    – метрика, которая сразу говорит: хорошо или плохо. - Метрика работает очень просто. Мы выбираем временной интервал [0; t] , такой, - что если время показа страницы попало в него, то пользователь счастлив. Берем еще один - интервал, (t; 4t] (в четыре раза больше первого), и считаем, что если страница - показана за это время, то пользователь в целом удовлетворен скоростью работы, - но уже не настолько счастлив. И применяем формулу: + Метрика работает очень просто. Мы выбираем временной интервал [0; t] , + такой, что если время показа страницы попало в него, то пользователь счастлив. + Берем еще один интервал, (t; 4t] (в четыре раза больше первого), и считаем, + что если страница показана за это время, то пользователь в целом удовлетворен скоростью + работы, но уже не настолько счастлив. И применяем формулу:

    @@ -143,23 +146,30 @@

    Как мы измеряем

    - C помощью Date.now() мы получаем текущее время. Все тайминги собираются и при - отправке рассчитываются. На этапах разница между “end” и “start” не - считается, а все вычисления производятся в конце: + C помощью Date.now() мы получаем текущее время. + Все тайминги собираются и при отправке рассчитываются. + На этапах разница между “end” и “start” не считается, + а все вычисления производятся в конце:

    - var totalTime = this.timings['look-ma-finish'] - this.timings['look-ma-im-start']; + + var totalTime = this.timings['look-ma-finish'] - this.timings['look-ma-im-start']; +

    И на сервер прилетают подобные записи:

    -

    serverResponse=50&&domUpdate=60

    +

    serverResponse = 50&& domUpdate =60

    Как мы ускоряем

    -
      Чтобы снизить время загрузки почты при выходе новых версий, мы уже делаем следующее: +
        + + Чтобы снизить время загрузки почты при выходе новых версий, мы уже делаем следующее: +
      • включаем gzip ;
      • выставляем заголовки кэширования;
      • фризим - CSS , JS , + CSS , + JS , шаблоны и картинки;
      • используем CDN;
      @@ -170,7 +180,10 @@

      Как мы ускоряем

      На самое деле эта идея не нова. Уже существуют стандарты для HTTP — например, - RFC 3229 Delta encoding in HTTP и + + RFC 3229 Delta encoding in HTTP + + и @@ -180,12 +193,15 @@

      Как мы ускоряем

      не получили должного распространения в браузерах и на серверах.

      - Мы же решили сделать свой аналог на JS . Чтобы реализовать этот метод - обновления, начали искать реализации diff на JS . + Мы же решили сделать свой аналог на JS . + Чтобы реализовать этот метод обновления, начали искать реализации diff на + JS . На популярных хостингах кода нашли библиотеки:

      @@ -238,10 +254,11 @@

      Как мы ускоряем

      То есть это обычный массив из объектов. Каждый объект — отдельный ресурс. У каждого объекта есть три свойства. k — названия ключа в localStorage для этого - ресурса. p — патч для ресурса, который сгенерировал vcdiff. s — - чексумма для ресурса актуальной версии, чтобы потом можно было проверить правильность - наложения патча на клиенте. Чексумма вычисляется по алгоритму - Флетчера. + ресурса. p — патч для ресурса, который сгенерировал vcdiff. + s — чексумма для ресурса актуальной версии, чтобы потом можно было проверить + правильность наложения патча на клиенте. Чексумма вычисляется по алгоритму + + Флетчера .

      Алгоритм Бройдена — Флетчера — Гольдфарба — Шанно @@ -256,29 +273,37 @@

      Как мы ускоряем

      дано ε x0
      инициализировать Η0
      k = 0
      - while || ∇ ƒ0 ||
      + while || ∇ ƒ0 || +
      найти направление - pk = – Ck∇ƒk + + pk = – Ck∇ƒk +
      вычислить xk+1 = xk + αkpk - , αk удовлетворяет условиям Вольфе + , + + αk + удовлетворяет условиям Вольфе
      обозначить - sk = xk+1 – xk + + sk = xk+1 – xk + и - yk = ∇ ƒk+1 – ∇ ƒk + yk = ∇ ƒk+1 – ∇ ƒk
      вычислить Ck+1
      - k = k + 1 + k = k + 1
      - end + end

      @@ -347,7 +372,9 @@

      Комментарии (3):

      Mogaika (mogaika@yandex-team.ru)
      -
      А можете привести сравнение, на сколько быстрее грузится lite версия?
      +
      + А можете привести сравнение, на сколько быстрее грузится lite версия? +
      JIguse (mrawesome@yandex.ru)
      @@ -361,7 +388,9 @@

      Комментарии (3):

      Brister (brist89@yandex-team.ru)
      - (кол-во счастливых пользователей + кол-во удовлетворенных / 2) / (кол-во всех). + + (кол-во счастливых пользователей + кол-во удовлетворенных / 2) / (кол-во всех). +
      Получается значение от нуля до единицы, которое, видимо, лучше всего показывает, хорошо или плохо работает почта. @@ -373,7 +402,9 @@

      Комментарии (3):

      Мы измеряем скорость загрузки с помощью - Яндекс.Метрики. + + Яндекс.Метрики + .