)]}'
{
  "commit": "50515b700e02658272117a72bd641b6b7f1222e5",
  "tree": "63ac2e0f7c64e09f449e83031513d0fb7c431e0a",
  "parents": [
    "44208030b391907a5ec5c5658470bdb6e6169073"
  ],
  "author": {
    "name": "Benoît Masson",
    "email": "benoitmasson@users.noreply.github.com",
    "time": "Fri Oct 14 11:24:45 2016 +0200"
  },
  "committer": {
    "name": "Bjørn Erik Pedersen",
    "email": "bjorn.erik.pedersen@gmail.com",
    "time": "Fri Oct 14 11:24:45 2016 +0200"
  },
  "message": "Increase performance of nested keys search\n\n* Fixed: insensitiviseMaps and tests\r\n\r\nAll keys (even nested ones) are now lower-cased recursively.\r\n\r\nOn the way, map[interface{}]interface{} are cast to map[string]interface{}\r\n\r\n* Changed: simplified find() fast path and increase performance\r\n\r\nRemoved searchMapForKey(), fast path directly integrated into searchMap() and\r\nsearchMapWithPathPrefixes()\r\n\u003d\u003e more generic (searchMapForKey() wasn\u0027t called everywhere it should have)\r\n\r\nAt the same time, significantly speed up searchMap() and searchMapWithPathPrefixes(),\r\nwhich are still used for nested keys: the assumption that map keys are all\r\nlower-cased allows to perform\r\n    val \u003d m[key]\r\ninstead of\r\n    for k, v :\u003d range m {\r\n      if strings.ToLower(k) \u003d\u003d strings.ToLower(key) {\r\n        val \u003d v\r\n      }\r\n    }\r\n\u003d\u003e i.e., directly access the map instead of enumerate the keys\r\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b0903fb07453ac019c7a868247b59ead6a67236d",
      "old_mode": 33188,
      "old_path": "util.go",
      "new_id": "aec8a9948191f4d306e0a93a7dcaebe78ba42724",
      "new_mode": 33188,
      "new_path": "util.go"
    },
    {
      "type": "modify",
      "old_id": "152e12550d878ac64bfa631aed56518288d2319f",
      "old_mode": 33188,
      "old_path": "viper.go",
      "new_id": "8d35fdacd92f52080bf1c732a021e2e3034bab87",
      "new_mode": 33188,
      "new_path": "viper.go"
    },
    {
      "type": "modify",
      "old_id": "f34421c44c8db4a434909629b7f0073cc20ffe9f",
      "old_mode": 33188,
      "old_path": "viper_test.go",
      "new_id": "ab1f8344392ae200d4d1bbf0d4f7a0ff43c37278",
      "new_mode": 33188,
      "new_path": "viper_test.go"
    }
  ]
}
