)]}'
{
  "commit": "fbe63bddd6ea751cb1b82f6dfb5e896f4b7a7ef4",
  "tree": "346c3fe1de1ee2fccf8d48c66cc666f34f435b60",
  "parents": [
    "0d13717248cf34b4dfee9cd757c33ed7c57338d6"
  ],
  "author": {
    "name": "Seigo Nonaka",
    "email": "nona@google.com",
    "time": "Sat Dec 02 19:28:05 2017 -0800"
  },
  "committer": {
    "name": "Seigo Nonaka",
    "email": "nona@google.com",
    "time": "Mon Dec 11 18:55:12 2017 -0800"
  },
  "message": "Introduce PremeasuredText\n\nBy measuring the character widths beforehand, we can save at least 40%\nof the StaticLayout construction time which typically happens on UI\nthread.\nAlso verified this doesn\u0027t cause performance regression for not\npremeasured text.\n\nRaw performance score (Not premeasured -\u003e premeasured, median, N\u003d100)\n\nNo Style,   Greedy, Hyphenation OFF:  7,812,975 -\u003e    503,245 (-93.6%)\nNo Style, Balanced, Hyphenation OFF:  7,843,254 -\u003e    396,892 (-95.0%)\n\nNo Style,   Greedy, Hyphenation ON : 19,134,214 -\u003e 11,658,928 (-39.1%)\nNo Style, Balanced, Hyphenation ON : 19,348,062 -\u003e 11,634,942 (-39.9%)\n\nStyled,     Greedy, Hyphenation OFF: 14,353,673 -\u003e    572,840 (-96.0%)\n\nRaw performance score (w/o patch -\u003e w/ patch, median, N\u003d100):\n\nNo Style,   Greedy, Hyphenation OFF:  7,732,894 -\u003e  7,812,975 (+1.04%)\nNo Style, Balanced, Hyphenation OFF:  7,884,510 -\u003e  7,843,254 (-0.52%)\n\nNo Style,   Greedy, Hyphenation ON : 18,986,958 -\u003e 19,134,214 (+0.78%)\nNo Style, Balanced, Hyphenation ON : 19,232,791 -\u003e 19,348,062 (+0.60%)\n\nStyled,     Greedy, Hyphenation OFF: 14,319,690 -\u003e 14,353,673 (+0.24%)\n\nBug: 67504091\nTest: bit CtsTextTestCases:*\nTest: bit CtsGraphicsTestCases:*\nTest: bit CtsWidgetTestCases:*\nTest: FrameworksCoreTests:android.text.MeasuredTextTest\nChange-Id: I0b46f04b42cc012606a9c722eca0d51147a0dcc7\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "92ee7ccfc294b72c96e5c4d7bff0b0f73f1f831a",
      "old_mode": 33188,
      "old_path": "apct-tests/perftests/core/src/android/text/StaticLayoutPerfTest.java",
      "new_id": "5653a039a9ed5120a18480a26902bf7324b40bb1",
      "new_mode": 33188,
      "new_path": "apct-tests/perftests/core/src/android/text/StaticLayoutPerfTest.java"
    },
    {
      "type": "modify",
      "old_id": "05b2a0c6a4fb50e21928ee5199174cd9532fad6a",
      "old_mode": 33188,
      "old_path": "api/current.txt",
      "new_id": "03979af7fcf8564c932d6c5265c3b3568629770e",
      "new_mode": 33188,
      "new_path": "api/current.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "465314dd21ac8fe74fc2b0983a527739fd02aeea",
      "new_mode": 33188,
      "new_path": "core/java/android/text/PremeasuredText.java"
    },
    {
      "type": "modify",
      "old_id": "53ddd1699d6879b36af6d1270bc79b32bc8dec35",
      "old_mode": 33188,
      "old_path": "core/java/android/text/StaticLayout.java",
      "new_id": "2e10fe8d4267618efc0214839e72dd2a4084efba",
      "new_mode": 33188,
      "new_path": "core/java/android/text/StaticLayout.java"
    },
    {
      "type": "modify",
      "old_id": "d9bc51fffd6acfc9174824ebdec7cdd88b21c0f8",
      "old_mode": 33188,
      "old_path": "core/java/android/widget/TextView.java",
      "new_id": "f8083babef29e9d12bfc263771f2d812dc888613",
      "new_mode": 33188,
      "new_path": "core/java/android/widget/TextView.java"
    }
  ]
}
