)]}'
{
  "commit": "b3be360f16c44d21b2594d06e8d0e609e8fe3c0c",
  "tree": "5b0e68bbef52bb97fe8a520ceb2daea7567b7ac1",
  "parents": [
    "aed88be021762c590f50ab80f8cc155e2c55c39f"
  ],
  "author": {
    "name": "Dmitry Vyukov",
    "email": "dvyukov@google.com",
    "time": "Thu Jan 29 19:40:02 2015 +0300"
  },
  "committer": {
    "name": "Dmitry Vyukov",
    "email": "dvyukov@google.com",
    "time": "Thu Feb 12 09:53:52 2015 +0000"
  },
  "message": "cmd/gc: allocate non-escaping maps on stack\n\nExtend escape analysis to make(map[k]v).\nIf it does not escape, allocate temp buffer for hmap and one bucket on stack.\n\nThere are 75 cases of non-escaping maps in std lib.\n\nbenchmark                                    old allocs     new allocs     delta\nBenchmarkConcurrentStmtQuery                 16161          15161          -6.19%\nBenchmarkConcurrentTxQuery                   17658          16658          -5.66%\nBenchmarkConcurrentTxStmtQuery               16157          15156          -6.20%\nBenchmarkConcurrentRandom                    13637          13114          -3.84%\nBenchmarkManyConcurrentQueries               22             20             -9.09%\nBenchmarkDecodeComplex128Slice               250            188            -24.80%\nBenchmarkDecodeFloat64Slice                  250            188            -24.80%\nBenchmarkDecodeInt32Slice                    250            188            -24.80%\nBenchmarkDecodeStringSlice                   2250           2188           -2.76%\nBenchmarkNewEmptyMap                         1              0              -100.00%\nBenchmarkNewSmallMap                         2              0              -100.00%\n\nbenchmark                old ns/op     new ns/op     delta\nBenchmarkNewEmptyMap     124           55.7          -55.08%\nBenchmarkNewSmallMap     317           148           -53.31%\n\nbenchmark                old allocs     new allocs     delta\nBenchmarkNewEmptyMap     1              0              -100.00%\nBenchmarkNewSmallMap     2              0              -100.00%\n\nbenchmark                old bytes     new bytes     delta\nBenchmarkNewEmptyMap     48            0             -100.00%\nBenchmarkNewSmallMap     192           0             -100.00%\n\nFixes #5449\n\nChange-Id: I24fa66f949d2f138885d9e66a0d160240dc9e8fa\nReviewed-on: https://go-review.googlesource.com/3508\nReviewed-by: Keith Randall \u003ckhr@golang.org\u003e\nRun-TryBot: Dmitry Vyukov \u003cdvyukov@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cdcc8e7cbc45015a286dbe744abd3cf263855d25",
      "old_mode": 33188,
      "old_path": "src/cmd/gc/builtin.c",
      "new_id": "d381566d1fab3c244d2d0664341152a3353e7ab6",
      "new_mode": 33188,
      "new_path": "src/cmd/gc/builtin.c"
    },
    {
      "type": "modify",
      "old_id": "93eba2e80d90534d990a9ed7db731be883ec135d",
      "old_mode": 33188,
      "old_path": "src/cmd/gc/go.h",
      "new_id": "5be8ce50ceb5b55b72fb63b14421202f8a374a0e",
      "new_mode": 33188,
      "new_path": "src/cmd/gc/go.h"
    },
    {
      "type": "modify",
      "old_id": "ee00ff059bb147de4778c5bc1b81bd19b55a926d",
      "old_mode": 33188,
      "old_path": "src/cmd/gc/reflect.c",
      "new_id": "852485d13ea0c313092aa81aa60e1c556f7cdec5",
      "new_mode": 33188,
      "new_path": "src/cmd/gc/reflect.c"
    },
    {
      "type": "modify",
      "old_id": "8648a973e81a3841911d3a50f951b46836cf61af",
      "old_mode": 33188,
      "old_path": "src/cmd/gc/runtime.go",
      "new_id": "0a4c1b8cbb1b705ce2a84da9f06e073ab6986c2b",
      "new_mode": 33188,
      "new_path": "src/cmd/gc/runtime.go"
    },
    {
      "type": "modify",
      "old_id": "99dd0d3c09311ffb17f6cad29fd8f57aa5111c74",
      "old_mode": 33188,
      "old_path": "src/cmd/gc/walk.c",
      "new_id": "e2d74e46bc991342941d59d155d8757343916e9f",
      "new_mode": 33188,
      "new_path": "src/cmd/gc/walk.c"
    },
    {
      "type": "modify",
      "old_id": "058d1c76c43c601f5f27a05b9c5734d5e82c6688",
      "old_mode": 33188,
      "old_path": "src/runtime/hashmap.go",
      "new_id": "c7c11982592022fc5af033cbfd287533c0a3ffbd",
      "new_mode": 33188,
      "new_path": "src/runtime/hashmap.go"
    },
    {
      "type": "modify",
      "old_id": "92da2d8209b2a4b18a399f7774dc2f1988750d5d",
      "old_mode": 33188,
      "old_path": "src/runtime/map_test.go",
      "new_id": "55f1f8262516a4300e6ba70c8b2bc1877f8b2a22",
      "new_mode": 33188,
      "new_path": "src/runtime/map_test.go"
    },
    {
      "type": "modify",
      "old_id": "119eb3f39c78e43906b1f0fcdf0a9c5edab501fe",
      "old_mode": 33188,
      "old_path": "src/runtime/mapspeed_test.go",
      "new_id": "b036d2a3ab105ff6db5134016b8fab5e1aaf0c91",
      "new_mode": 33188,
      "new_path": "src/runtime/mapspeed_test.go"
    },
    {
      "type": "modify",
      "old_id": "947dcc951525a0c628c9c19a33ffc740e05fe3b3",
      "old_mode": 33188,
      "old_path": "test/escape2.go",
      "new_id": "ca9f61481b7002d71f13e4a83f684aef017a86f2",
      "new_mode": 33188,
      "new_path": "test/escape2.go"
    },
    {
      "type": "modify",
      "old_id": "d9d95e81dc019276353f8bfa39a530fc596b27e5",
      "old_mode": 33188,
      "old_path": "test/escape2n.go",
      "new_id": "ddd56934851c85e5805eb2e2f3c471288f39ea33",
      "new_mode": 33188,
      "new_path": "test/escape2n.go"
    },
    {
      "type": "modify",
      "old_id": "62c6a0b0e523fe1f042076934feed8c380e01bcd",
      "old_mode": 33188,
      "old_path": "test/live.go",
      "new_id": "f96bbcc6c0d6dd328b9eea26c111071aace79366",
      "new_mode": 33188,
      "new_path": "test/live.go"
    },
    {
      "type": "modify",
      "old_id": "1bd0af2cc18654f62d6e637f2e99617e95bea63e",
      "old_mode": 33188,
      "old_path": "test/live2.go",
      "new_id": "747475615703bd503067240c0acf5a3915966825",
      "new_mode": 33188,
      "new_path": "test/live2.go"
    }
  ]
}
