)]}'
{
  "commit": "0997250744112ec0519d5f67cda92b2b87fb0063",
  "tree": "2cb5defbf9bb070c6a6d8018079a20ea1906ab96",
  "parents": [
    "731975a645e47c931fbbc42ac51c12b0873a50c2"
  ],
  "author": {
    "name": "Jens Geyer",
    "email": "jensg@apache.org",
    "time": "Fri May 02 01:30:13 2014 +0200"
  },
  "committer": {
    "name": "Jens Geyer",
    "email": "jensg@apache.org",
    "time": "Fri May 02 01:35:24 2014 +0200"
  },
  "message": "THRIFT-2502 Optimize go implementations of binary and compact protocols for speed\nClient: Go\nPatch: Aleksey Pesternikov\n\nThis closes #110\n\ncommit 7ece8e6f16f7ff46cda4b896215d595ac986d332\n Author: Aleksey Pesternikov \u003cap@alekseys-macbook-pro.local\u003e\n Date: 2014-04-26T17:45:12Z\n\nsimplify buffered transport by reusing bufio\n\ncommit 814b661d7e5c3c27ad4035a42925eae619447ee3\n Author: Aleksey Pesternikov \u003cap@alekseys-macbook-pro.local\u003e\n Date: 2014-04-26T18:05:12Z\n\nzero-initialize buffers in framed transport\n\ncommit 0f576138e24fae8e7f8d210cfb480889a41d1d9a\n Author: Aleksey Pesternikov \u003cap@alekseys-macbook-pro.local\u003e\n Date: 2014-04-26T19:19:39Z\n\ndo not buffer the whole frame while reading in framed transport\n reuse frame header buffer\n\ncommit 4db9b65458eb34e1b1676dba76d1e664c6339a57\n Author: Aleksey Pesternikov \u003cap@alekseys-macbook-pro.local\u003e\n Date: 2014-04-26T19:43:07Z\n\nenforce max frame size in framed transport\n\ncommit 58ecc23ec1a2176f7dc5db7a658a51817dc626e6\n Author: Aleksey Pesternikov \u003cap@alekseys-mbp.att.net\u003e\n Date: 2014-04-27T00:31:16Z\n\nmicrobenchmarks for serialization/deserialization (binary,compact)x(memoryBuffer,Stream,framedMemoryBuffer)x(bool,byte,i16,i32,i64,double,string,binary)\n\ncommit 156116f484db513251e0e6c65942466ed5a8142c\n Author: Aleksey Pesternikov \u003cap@alekseys-mbp.att.net\u003e\n Date: 2014-04-27T00:32:09Z\n\nMerge branch \u0027go_microbench\u0027 into go_simplify_and_optimize\n\ncommit 1c27c0913cf5a8c0352afff1dae9e9fc9f758409\n Author: Aleksey Pesternikov \u003cap@alekseys-macbook-pro.local\u003e\n Date: 2014-04-27T22:45:52Z\n\ndo not allocate buffer in TBinaryProtocol.WriteByte\n\ncommit 86addfb0585e04c648cde1b9cb1566d7976f8cda\n Author: Aleksey Pesternikov \u003cap@alekseys-mbp.att.net\u003e\n Date: 2014-04-27T23:46:12Z\n\nno extra alloc in double marshaling test\n\ncommit 98ac62b0a80d4f27dce736b561005953cb915a90\n Author: Aleksey Pesternikov \u003cap@alekseys-mbp.att.net\u003e\n Date: 2014-04-27T23:46:50Z\n\nMerge branch \u0027go_microbench\u0027 into go_simplify_and_optimize\n\ncommit 76c26624578a5455cacd08bb0167444748aaa41d\n Author: Aleksey Pesternikov \u003cap@alekseys-mbp.att.net\u003e\n Date: 2014-04-28T12:48:41Z\n\noptimized ReadByte, WriteByte\n\ncommit 5a79d81d326582dbbdcf523ebc0180390ac24497\n Author: Aleksey Pesternikov \u003cap@alekseys-mbp.att.net\u003e\n Date: 2014-04-28T13:03:26Z\n\noptimized WriteString\n\ncommit f6d4a9aa65434831cbd2993148fa12c12b2a342c\n Author: Aleksey Pesternikov \u003cap@alekseys-macbook-pro.local\u003e\n Date: 2014-04-28T15:35:06Z\n\ncompact protocol optimization\n\ncommit 03bdb6b9f097a47ef54826483867c23d49374ac0\n Author: Aleksey Pesternikov \u003cap@alekseys-macbook-pro.local\u003e\n Date: 2014-04-28T16:08:52Z\n\ncache reader and writer to aviod interface conversions\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b57b528df6c715f272ca1e387c54a18eab0dde7b",
      "old_mode": 33188,
      "old_path": "lib/go/thrift/binary_protocol.go",
      "new_id": "abbe0bc65d310f91e59f31fa1c46e5f61357b3eb",
      "new_mode": 33188,
      "new_path": "lib/go/thrift/binary_protocol.go"
    },
    {
      "type": "modify",
      "old_id": "b92261c59bdbaec8e8a57f541e195b070cb3b9e5",
      "old_mode": 33188,
      "old_path": "lib/go/thrift/buffered_transport.go",
      "new_id": "d258b70004dbb958604abae74faa5cbb5d6bbaf1",
      "new_mode": 33188,
      "new_path": "lib/go/thrift/buffered_transport.go"
    },
    {
      "type": "modify",
      "old_id": "f89fc2f3f00c6e0737a5d17755d9f6edbef829ad",
      "old_mode": 33188,
      "old_path": "lib/go/thrift/compact_protocol.go",
      "new_id": "14bf62d209b0b397d110e9ed5fbbf595fef5358d",
      "new_mode": 33188,
      "new_path": "lib/go/thrift/compact_protocol.go"
    },
    {
      "type": "modify",
      "old_id": "d1af0287b8d6ea4921aa6c2bd04abb66f58c167d",
      "old_mode": 33188,
      "old_path": "lib/go/thrift/framed_transport.go",
      "new_id": "bfecbe832c567a1266108b0ebaf35688d5fed4a0",
      "new_mode": 33188,
      "new_path": "lib/go/thrift/framed_transport.go"
    },
    {
      "type": "modify",
      "old_id": "9f6099284fed404bd6acb0fc57c1b6aad2d9bf57",
      "old_mode": 33188,
      "old_path": "lib/go/thrift/http_client.go",
      "new_id": "cff5ea5482e42af28e00f2f3ed716410f91ae11b",
      "new_mode": 33188,
      "new_path": "lib/go/thrift/http_client.go"
    },
    {
      "type": "modify",
      "old_id": "64b2958fa786f88171f8bc9dd504c8a0825e7153",
      "old_mode": 33188,
      "old_path": "lib/go/thrift/iostream_transport.go",
      "new_id": "17fc969f71312b653c728dd299b8c3936540deb2",
      "new_mode": 33188,
      "new_path": "lib/go/thrift/iostream_transport.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a5094ae97ce2cb45688cd8112ff85238210615db",
      "new_mode": 33188,
      "new_path": "lib/go/thrift/lowlevel_benchmarks_test.go"
    },
    {
      "type": "modify",
      "old_id": "d88afedc2696e22828793ce314905c9fc26066b9",
      "old_mode": 33188,
      "old_path": "lib/go/thrift/protocol_test.go",
      "new_id": "67048fe84e00f5e7121b2887ec1aaa87ef938637",
      "new_mode": 33188,
      "new_path": "lib/go/thrift/protocol_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c409ae05517417efd376a8f042fda0a207271983",
      "new_mode": 33188,
      "new_path": "lib/go/thrift/rich_transport.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "32411672a1aed45d6dfdcf9f8850d06a2134c920",
      "new_mode": 33188,
      "new_path": "lib/go/thrift/rich_transport_test.go"
    },
    {
      "type": "modify",
      "old_id": "521394cfa9bd8e56598401604234f9b846e130f7",
      "old_mode": 33188,
      "old_path": "lib/go/thrift/simple_server.go",
      "new_id": "ffbfb76607be1759b952aee56c444d3e38228a8c",
      "new_mode": 33188,
      "new_path": "lib/go/thrift/simple_server.go"
    },
    {
      "type": "modify",
      "old_id": "44823dd563bd73fdd0eb840ceb43fc7784203c4c",
      "old_mode": 33188,
      "old_path": "lib/go/thrift/transport.go",
      "new_id": "8c0622db054874c6bd13b9d9c41d15ddd78a80ba",
      "new_mode": 33188,
      "new_path": "lib/go/thrift/transport.go"
    }
  ]
}
